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)
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
创建带指定标识符的自定义时区、与协调世界时 (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[]
一个 TimeZoneInfo.AdjustmentRule 对象的数组,这些对象增加特定期间的基本 UTC 偏移量。
- disableDaylightSavingTime
- Boolean
如果为 true
,则丢弃包含新对象的 adjustmentRules
中与夏令制相关的任何信息;否则为 false
。
返回
新时区。 如果 disableDaylightSavingTime
参数为 true
,则返回的对象没有夏令制数据。
例外
id
参数为 null
。
baseUtcOffset
参数大于 14 小时或小于 -14 小时。
在 adjustmentRules
参数中指定的调整规则重叠。
- 或 -
在 adjustmentRules
参数中指定的调整规则未按时间顺序排列。
- 或 -
adjustmentRules
中的一个或多个元素为 null
。
- 或 -
一个日期可能有多个应用于它的调整规则。
- 或 -
baseUtcOffset
参数与 adjustmentRules
数组中一个或多个对象的 DaylightDelta 值的和大于 14 小时或小于 -14 小时。
示例
以下示例为南极洲的帕尔默站和安弗斯岛创建自定义时区。 它在调用 TimeZoneInfo.CreateCustomTimeZone 方法时将 参数设置为 。disableDaylightSavingTime
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如果 为 true ,则为 disableDaylightSavingTime 。 |
adjustmentRules |
如果 为 ,则GetAdjustmentRules为 方法返回的 对象的数组TimeZoneInfo.AdjustmentRule;如果 disableDaylightSavingTime disableDaylightSavingTime 为 true ,则为方法返回的GetAdjustmentRules空数组。false |
disableDaylightSavingTime |
不是 SupportsDaylightSavingTime。 |
通常,时区的标准时间名称及其标识符相同。 但是,时区标识符的长度不应超过 32 个字符。 传递给 参数的 displayName
字符串遵循相当标准的格式。 显示名称的第一部分是时区与协调世界时的基本偏移量,该偏移量由格林威治标准时间) 的首字母缩略词 GMT (表示,括在括号中。 后跟一个字符串,用于标识时区本身,或时区中的一个或多个城市、区域或国家/地区,或两者。 例如:
(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)
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
创建带指定标识符的自定义时区、与协调世界时 (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 湾区域创建自定义时区。 然后,它显示将本地时间转换为新时区中的时间的结果。
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 (表示,括在括号中。 后跟一个字符串,用于标识时区本身,或时区中的一个或多个城市、区域或国家/地区,或两者。 例如:
(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[])
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
- Source:
- TimeZoneInfo.cs
创建带指定标识符的自定义时区、与协调世界时 (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
。
- 或 -
一个日期可能有多个应用于它的调整规则。
- 或 -
baseUtcOffset
参数与 adjustmentRules
数组中一个或多个对象的 DaylightDelta 值的和大于 14 小时或小于 -14 小时。
示例
以下示例为南极洲的帕尔默站和安弗斯岛创建自定义时区。 然后,它将本地时间转换为新时区中的时间,并显示结果。
// 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
字符串遵循相当标准的格式。 显示名称的第一部分是时区与协调世界时的基本偏移量,该偏移量由格林威治标准时间) 的首字母缩略词 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
数组。