TimeZoneInfo.CreateCustomTimeZone 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
定義在本機電腦上找不到的時區。
多載
CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[], Boolean) |
以指定的識別項、國際標準時間 (UTC) 的位移、顯示名稱、標準時間名稱、日光節約時間名稱、日光節約時間規則,以及表示傳回的物件是否反映日光節約時間資訊的值,建立自訂時區。 |
CreateCustomTimeZone(String, TimeSpan, String, String) |
建立具有指定識別項的自訂時區、國際標準時間 (UTC) 的位移、顯示名稱和標準時間顯示名稱。 |
CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[]) |
以指定的識別項、國際標準時間 (UTC) 的位移、顯示名稱、標準時間名稱、日光節約時間名稱和日光節約時間規則,建立自訂時區。 |
CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[], Boolean)
以指定的識別項、國際標準時間 (UTC) 的位移、顯示名稱、標準時間名稱、日光節約時間名稱、日光節約時間規則,以及表示傳回的物件是否反映日光節約時間資訊的值,建立自訂時區。
public:
static TimeZoneInfo ^ CreateCustomTimeZone(System::String ^ id, TimeSpan baseUtcOffset, System::String ^ displayName, System::String ^ standardDisplayName, System::String ^ daylightDisplayName, cli::array <TimeZoneInfo::AdjustmentRule ^> ^ adjustmentRules, bool disableDaylightSavingTime);
public static TimeZoneInfo CreateCustomTimeZone (string id, TimeSpan baseUtcOffset, string? displayName, string? standardDisplayName, string? daylightDisplayName, TimeZoneInfo.AdjustmentRule[]? adjustmentRules, bool disableDaylightSavingTime);
public static TimeZoneInfo CreateCustomTimeZone (string id, TimeSpan baseUtcOffset, string displayName, string standardDisplayName, string daylightDisplayName, TimeZoneInfo.AdjustmentRule[] adjustmentRules, bool disableDaylightSavingTime);
static member CreateCustomTimeZone : string * TimeSpan * string * string * string * TimeZoneInfo.AdjustmentRule[] * bool -> TimeZoneInfo
Public Shared Function CreateCustomTimeZone (id As String, baseUtcOffset As TimeSpan, displayName As String, standardDisplayName As String, daylightDisplayName As String, adjustmentRules As TimeZoneInfo.AdjustmentRule(), disableDaylightSavingTime As Boolean) As TimeZoneInfo
參數
- id
- String
時區的識別項。
- displayName
- String
新時區的顯示名稱。
- standardDisplayName
- String
新時區的標準時間名稱。
- daylightDisplayName
- String
新時區的日光節約時間名稱。
- adjustmentRules
- TimeZoneInfo.AdjustmentRule[]
擴大特定期間基底 UTC 位移的 TimeZoneInfo.AdjustmentRule 物件陣列。
- disableDaylightSavingTime
- Boolean
若為 true
則捨棄任何存在於 adjustmentRules
中具有新物件的日光節約時間相關資訊,否則為 false
。
傳回
新的時區。 如果 disableDaylightSavingTime
參數為 true
,則傳回的物件不含日光節約時間資料。
例外狀況
id
參數為 null
。
baseUtcOffset
參數大於 14 小時或小於 -14 小時。
adjustmentRules
參數中指定的調整規則重疊。
-或-
adjustmentRules
參數中指定的調整規則未依照時間排序。
-或-
adjustmentRules
中的一個或多個項目為 null
。
-或-
一個日期可以套用多項調整規則。
-或-
adjustmentRules
陣列中一個或多個物件的 baseUtcOffset
參數和 DaylightDelta 值總和大於 14 小時或小於 -14 小時。
範例
下列範例會為位於北極島的Paler 月臺和 Anvers Island 建立自訂時區。 它會將 disableDaylightSavingTime
方法呼叫 TimeZoneInfo.CreateCustomTimeZone 中的 參數設定為 true
。 然後會顯示新的時區日光節約時間名稱,如果有的話,以及確認新時區沒有日光節約時間資訊的調整規則數目。
// Define transition times to/from DST
TimeZoneInfo.TransitionTime startTransition, endTransition;
startTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 4, 0, 0),
10, 2, DayOfWeek.Sunday);
endTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1,3, 0, 0),
3, 2, DayOfWeek.Sunday);
// Define adjustment rule
TimeSpan delta = new TimeSpan(1, 0, 0);
TimeZoneInfo.AdjustmentRule adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1999, 10, 1),
DateTime.MaxValue.Date, delta, startTransition, endTransition);
// Create array for adjustment rules
TimeZoneInfo.AdjustmentRule[] adjustments = {adjustment};
// Define other custom time zone arguments
string displayName = "(GMT-04:00) Antarctica/Palmer Time";
string standardName = "Palmer Standard Time";
string daylightName = "Palmer Daylight Time";
TimeSpan offset = new TimeSpan(-4, 0, 0);
// Create custom time zone without copying DST information
TimeZoneInfo palmer = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName,
daylightName, adjustments, true);
// Indicate whether new time zone//s adjustment rules are present
Console.WriteLine("{0} {1}has {2} adjustment rules.",
palmer.StandardName,
! (string.IsNullOrEmpty(palmer.DaylightName)) ? "(" + palmer.DaylightName + ") ": "" ,
palmer.GetAdjustmentRules().Length);
// Indicate whether new time zone supports DST
Console.WriteLine("{0} supports DST: {1}", palmer.StandardName, palmer.SupportsDaylightSavingTime);
// Define transition times to/from DST
let startTransition =
TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 4, 0, 0), 10, 2, DayOfWeek.Sunday)
let endTransition =
TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1,3, 0, 0), 3, 2, DayOfWeek.Sunday)
// Define adjustment rule
let delta = TimeSpan(1, 0, 0)
let adjustment =
TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(DateTime(1999, 10, 1), DateTime.MaxValue.Date, delta, startTransition, endTransition)
// Create array for adjustment rules
let adjustments = [| adjustment |]
// Define other custom time zone arguments
let displayName = "(GMT-04:00) Antarctica/Palmer Time"
let standardName = "Palmer Standard Time"
let daylightName = "Palmer Daylight Time"
let offset = TimeSpan(-4, 0, 0)
// Create custom time zone without copying DST information
let palmer = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments, true)
// Indicate whether time zone//s adjustment rules are present
printfn $"""{palmer.StandardName} {if String.IsNullOrEmpty palmer.DaylightName then "" else "(" + palmer.DaylightName + ")"}has {palmer.GetAdjustmentRules().Length} adjustment rules."""
// Indicate whether time zone supports DST
printfn $"{palmer.StandardName} supports DST: {palmer.SupportsDaylightSavingTime}"
' Define transition times to/from DST
Dim startTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#04:00:00#, 10, 2, DayOfWeek.Sunday)
Dim endTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#3:00:00#, 3, 2, DayOfWeek.Sunday)
' Define adjustment rule
Dim delta As TimeSpan = New TimeSpan(1, 0, 0)
Dim adjustment As TimeZoneInfo.AdjustmentRule = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#10/01/1999#, Date.MaxValue.Date, delta, startTransition, endTransition)
' Create array for adjustment rules
Dim adjustments() As TimeZoneInfo.AdjustmentRule = {adjustment}
' Define other custom time zone arguments
Dim displayName As String = "(GMT-04:00) Antarctica/Palmer Time"
Dim standardName As String = "Palmer Standard Time"
Dim daylightName As String = "Palmer Daylight Time"
Dim offset As TimeSpan = New TimeSpan(-4, 0, 0)
Dim palmer As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments, True)
' Indicate whether new time zone's adjustment rules are present
Console.WriteLine("{0} {1}has {2} adjustment rules.", _
palmer.StandardName, _
IIf(Not String.IsNullOrEmpty(palmer.DaylightName), "(" & palmer.DaylightName & ") ", ""), _
palmer.GetAdjustmentRules().Length)
' Indicate whether new time zone supports DST
Console.WriteLine("{0} supports DST: {1}", palmer.StandardName, palmer.SupportsDaylightSavingTime)
備註
您可以使用此方法的 TimeZoneInfo.CreateCustomTimeZone 這個多載來建立自訂時區,其支援日光節約時間可由執行時間的條件決定。
下表顯示提供給 TimeZoneInfo.CreateCustomTimeZone 方法的參數與方法呼叫所傳回之物件成員 TimeZoneInfo 之間的關聯性。
CreateCustomTimeZone 參數 | TimeZoneInfo 屬性 |
---|---|
id |
Id |
baseUtcOffset |
BaseUtcOffset |
displayName |
DisplayName |
standardDisplayName |
StandardName |
daylightDisplayName |
DaylightName 如果 disableDaylightSavingTime 為 false ,則為 ; String.Empty 如果 disableDaylightSavingTime 為 則為 true 。 |
adjustmentRules |
如果 disableDaylightSavingTime 為 false ,則為 方法所 GetAdjustmentRules 傳回之 物件的陣列 TimeZoneInfo.AdjustmentRule ;如果 disableDaylightSavingTime 為 true ,則為 方法所傳回的 GetAdjustmentRules 空陣列。 |
disableDaylightSavingTime |
不是 SupportsDaylightSavingTime 。 |
一般而言,時區的標準時間名稱和其識別碼相同。 不過,時區識別碼的長度不應超過 32 個字元。 傳遞至 參數的 displayName
字串遵循相當標準的格式。 顯示名稱的第一個部分是時區與國際標準時間的基底位移,其縮寫 GMT (表示 Greenwich Mean Time) ,以括弧括住。 後面接著一個字串來識別時區本身,或是時區中的一或多個城市、區域或國家/地區,或兩者。 例如:
(GMT+02:00) Athens, Beirut, Istanbul, Minsk
(GMT-02:00) Mid-Atlantic
(GMT-07:00) Mountain Time (US & Canada)
時區的調整規則是藉由執行下列動作來定義:
CreateFloatingDateRule呼叫 或 CreateFixedDateRule 方法來定義每個調整規則的開始和結束轉換規則。
CreateAdjustmentRule針對每個調整規則呼叫 方法。
將調整規則指派給可當作 參數傳遞的
adjustmentRules
陣列。
如果 disableDaylightSavingTime
參數為 false
,則這個方法的作業與 TimeZoneInfo.CreateCustomTimeZone 多載相同。 如果 為 disableDaylightSavingTime
true
,則傳回的物件不會包含任何調整規則,以及 DaylightName 其值為空字串的屬性。
另請參閱
適用於
CreateCustomTimeZone(String, TimeSpan, String, String)
建立具有指定識別項的自訂時區、國際標準時間 (UTC) 的位移、顯示名稱和標準時間顯示名稱。
public:
static TimeZoneInfo ^ CreateCustomTimeZone(System::String ^ id, TimeSpan baseUtcOffset, System::String ^ displayName, System::String ^ standardDisplayName);
public static TimeZoneInfo CreateCustomTimeZone (string id, TimeSpan baseUtcOffset, string? displayName, string? standardDisplayName);
public static TimeZoneInfo CreateCustomTimeZone (string id, TimeSpan baseUtcOffset, string displayName, string standardDisplayName);
static member CreateCustomTimeZone : string * TimeSpan * string * string -> TimeZoneInfo
Public Shared Function CreateCustomTimeZone (id As String, baseUtcOffset As TimeSpan, displayName As String, standardDisplayName As String) As TimeZoneInfo
參數
- id
- String
時區的識別項。
- baseUtcOffset
- TimeSpan
物件,代表這個時區與國際標準時間 (UTC) 的時差。
- displayName
- String
新時區的顯示名稱。
- standardDisplayName
- String
新時區標準時間的名稱。
傳回
新的時區。
例外狀況
id
參數為 null
。
baseUtcOffset
參數大於 14 小時或小於 -14 小時。
範例
下列範例會為北極島 Mawson 和 Holme Bay 區域建立自訂時區。 然後會顯示將當地時間轉換成新時區中時間的結果。
string displayName = "(GMT+06:00) Antarctica/Mawson Time";
string standardName = "Mawson Time";
TimeSpan offset = new TimeSpan(06, 00, 00);
TimeZoneInfo mawson = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName);
Console.WriteLine("The current time is {0} {1}",
TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, mawson),
mawson.StandardName);
let displayName = "(GMT+06:00) Antarctica/Mawson Time"
let standardName = "Mawson Time"
let offset = TimeSpan(06, 00, 00)
let mawson = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName)
printfn $"The current time is {TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, mawson)} {mawson.StandardName}"
Dim displayName As String = "(GMT+06:00) Antarctica/Mawson Time"
Dim standardName As String = "Mawson Time"
Dim offset As TimeSpan = New TimeSpan(06, 00, 00)
Dim mawson As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName)
Console.WriteLine("The current time is {0} {1}", _
TimeZoneInfo.ConvertTime(Date.Now, TimeZoneInfo.Local, mawson), _
mawson.StandardName)
備註
這個方法的多 CreateCustomTimeZone(String, TimeSpan, String, String) 載適用于建立沒有調整 (的時區,也就是不支援日光節約時間的時區) 。 若要定義包含日光節約時間調整的 TimeZoneInfo.CreateCustomTimeZone 時區,請使用 TimeZoneInfo.CreateCustomTimeZone 或 方法。
下表顯示提供給 TimeZoneInfo.CreateCustomTimeZone 方法的參數與方法呼叫所傳回之物件的屬性 TimeZoneInfo 之間的關聯性。
CreateCustomTimeZone 參數 | TimeZoneInfo 屬性 |
---|---|
id |
Id |
baseUtcOffset |
BaseUtcOffset |
displayName |
DisplayName |
standardDisplayName |
StandardName |
一般而言,時區的標準時間名稱和其識別碼相同。 不過,時區識別碼的長度不應超過 32 個字元。 傳遞至 參數的 displayName
字串遵循相當標準的格式。 顯示名稱的第一個部分是時區與國際標準時間的基底位移,其縮寫 GMT (表示 Greenwich Mean Time) ,以括弧括住。 後面接著一個字串來識別時區本身,或是時區中的一或多個城市、區域或國家/地區,或兩者。 例如:
(GMT+02:00) Athens, Beirut, Istanbul, Minsk
(GMT-02:00) Mid-Atlantic
(GMT-07:00) Mountain Time (US & Canada)
另請參閱
適用於
CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[])
以指定的識別項、國際標準時間 (UTC) 的位移、顯示名稱、標準時間名稱、日光節約時間名稱和日光節約時間規則,建立自訂時區。
public:
static TimeZoneInfo ^ CreateCustomTimeZone(System::String ^ id, TimeSpan baseUtcOffset, System::String ^ displayName, System::String ^ standardDisplayName, System::String ^ daylightDisplayName, cli::array <TimeZoneInfo::AdjustmentRule ^> ^ adjustmentRules);
public static TimeZoneInfo CreateCustomTimeZone (string id, TimeSpan baseUtcOffset, string? displayName, string? standardDisplayName, string? daylightDisplayName, TimeZoneInfo.AdjustmentRule[]? adjustmentRules);
public static TimeZoneInfo CreateCustomTimeZone (string id, TimeSpan baseUtcOffset, string displayName, string standardDisplayName, string daylightDisplayName, TimeZoneInfo.AdjustmentRule[] adjustmentRules);
static member CreateCustomTimeZone : string * TimeSpan * string * string * string * TimeZoneInfo.AdjustmentRule[] -> TimeZoneInfo
Public Shared Function CreateCustomTimeZone (id As String, baseUtcOffset As TimeSpan, displayName As String, standardDisplayName As String, daylightDisplayName As String, adjustmentRules As TimeZoneInfo.AdjustmentRule()) As TimeZoneInfo
參數
- id
- String
時區的識別項。
- baseUtcOffset
- TimeSpan
物件,代表這個時區與國際標準時間 (UTC) 的時差。
- displayName
- String
新時區的顯示名稱。
- standardDisplayName
- String
新時區的標準時間名稱。
- daylightDisplayName
- String
新時區的日光節約時間名稱。
- adjustmentRules
- TimeZoneInfo.AdjustmentRule[]
針對特定期間擴大基底 UTC 位移的陣列。
傳回
代表新時區的 TimeZoneInfo 物件。
例外狀況
id
參數為 null
。
baseUtcOffset
參數大於 14 小時或小於 -14 小時。
adjustmentRules
參數中指定的調整規則重疊。
-或-
adjustmentRules
參數中指定的調整規則未依照時間排序。
-或-
adjustmentRules
中的一個或多個項目為 null
。
-或-
一個日期可以套用多項調整規則。
-或-
adjustmentRules
陣列中一個或多個物件的 baseUtcOffset
參數和 DaylightDelta 值總和大於 14 小時或小於 -14 小時。
範例
下列範例會為位於北極島的Paler 月臺和 Anvers Island 建立自訂時區。 然後,它會將當地時間轉換成新時區中的時間,並顯示結果。
// Define transition times to/from DST
TimeZoneInfo.TransitionTime startTransition, endTransition;
startTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 4, 0, 0),
10, 2, DayOfWeek.Sunday);
endTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 3, 0, 0),
3, 2, DayOfWeek.Sunday);
// Define adjustment rule
TimeSpan delta = new TimeSpan(1, 0, 0);
TimeZoneInfo.AdjustmentRule adjustment;
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1999, 10, 1), DateTime.MaxValue.Date, delta, startTransition, endTransition);
// Create array for adjustment rules
TimeZoneInfo.AdjustmentRule[] adjustments = {adjustment};
// Define other custom time zone arguments
string displayName = "(GMT-04:00) Antarctica/Palmer Time";
string standardName = "Palmer Time";
string daylightName = "Palmer Daylight Time";
TimeSpan offset = new TimeSpan(-4, 0, 0);
TimeZoneInfo palmer = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments);
Console.WriteLine("The current time is {0} {1}",
TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, palmer),
palmer.StandardName);
// Define transition times to/from DST
let startTransition =
TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 4, 0, 0), 10, 2, DayOfWeek.Sunday)
let endTransition =
TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 3, 0, 0), 3, 2, DayOfWeek.Sunday)
// Define adjustment rule
let delta = TimeSpan(1, 0, 0)
let adjustment =
TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(DateTime(1999, 10, 1), DateTime.MaxValue.Date, delta, startTransition, endTransition)
// Create array for adjustment rules
let adjustments = [| adjustment |]
// Define other custom time zone arguments
let displayName = "(GMT-04:00) Antarctica/Palmer Time"
let standardName = "Palmer Time"
let daylightName = "Palmer Daylight Time"
let offset = TimeSpan(-4, 0, 0)
let palmer =
TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments)
printfn $"The current time is {TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, palmer)} {palmer.StandardName}"
' Define transition times to/from DST
Dim startTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#04:00:00#, 10, 2, DayOfWeek.Sunday)
Dim endTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#3:00:00#, 3, 2, DayOfWeek.Sunday)
' Define adjustment rule
Dim delta As TimeSpan = New TimeSpan(1, 0, 0)
Dim adjustment As TimeZoneInfo.AdjustmentRule = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#10/01/1999#, Date.MaxValue.Date, delta, startTransition, endTransition)
' Create array for adjustment rules
Dim adjustments() As TimeZoneInfo.AdjustmentRule = {adjustment}
' Define other custom time zone arguments
Dim DisplayName As String = "(GMT-04:00) Antarctica/Palmer Time"
Dim standardName As String = "Palmer Standard Time"
Dim daylightName As String = "Palmer Daylight Time"
Dim offset As TimeSpan = New TimeSpan(-4, 0, 0)
Dim palmer As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments)
Console.WriteLine("The current time is {0} {1}", _
TimeZoneInfo.ConvertTime(Date.Now, TimeZoneInfo.Local, palmer), _
palmer.StandardName)
備註
這個 方法的多 TimeZoneInfo.CreateCustomTimeZone 載適用于建立支援日光節約時間的時區。 若要定義不支援日光節約時間的 TimeZoneInfo.CreateCustomTimeZone 時區,請使用 TimeZoneInfo.CreateCustomTimeZone 或 方法。
下表顯示提供給 TimeZoneInfo.CreateCustomTimeZone 方法的參數與方法呼叫所傳回之物件成員 TimeZoneInfo 之間的關聯性。
CreateCustomTimeZone 參數 | TimeZoneInfo 成員 |
---|---|
id |
Id |
baseUtcOffset |
BaseUtcOffset |
displayName |
DisplayName |
standardDisplayName |
StandardName |
daylightDisplayName |
DaylightName |
adjustmentRules |
方法所 GetAdjustmentRules 傳回之 物件的陣列 System.TimeZoneInfo.AdjustmentRule 。 |
一般而言,時區的標準時間名稱和其識別碼相同。 不過,時區識別碼的長度不應超過 32 個字元。 傳遞至 參數的 displayName
字串會遵循相當標準的格式。 顯示名稱的第一個部分是時區與國際標準時間的基底位移,以 Greenwich Mean Time) 縮寫 GMT (表示,以括弧括住。 後面接著識別時區本身的字串,或時區中的一或多個城市、區域或國家/地區,或兩者。 例如:
(GMT+02:00) Athens, Beirut, Istanbul, Minsk
(GMT-02:00) Mid-Atlantic
(GMT-07:00) Mountain Time (US & Canada)
參數 baseUtcOffset
會針對所有時區的調整規則,定義從國際標準時間 (UTC) 的自訂時區位移。 換句話說, TimeZoneInfo 物件模型假設時區與 UTC 的位移在整個時區生命週期中都是固定的,而且與特定調整規則無關。 若要反映已從 UTC 變更其位移的時區,您必須建立新的時區物件。
時區的調整規則是藉由執行下列動作來定義:
CreateFloatingDateRule呼叫 或 方法, CreateFixedDateRule 以定義每個調整規則的開始和結束轉換時間。
CreateAdjustmentRule針對每個調整規則呼叫 方法。
將調整規則指派給可當做 參數傳遞的
adjustmentRules
陣列。