TimeZoneInfo.CreateCustomTimeZone 方法

定义

定义在本地计算机上未找到的时区。

重载

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

时区的标识符。

baseUtcOffset
TimeSpan

一个 TimeSpan 对象,它表示此时区和协调世界时 (UTC) 之间的时差。

displayName
String

新时区的显示名称。

standardDisplayName
String

新时区的标准时间名称。

daylightDisplayName
String

新时区的夏令制名称。

adjustmentRules
TimeZoneInfo.AdjustmentRule[]

一个 TimeZoneInfo.AdjustmentRule 对象的数组,这些对象增加特定期间的基本 UTC 偏移量。

disableDaylightSavingTime
Boolean

如果为 true ,则丢弃包含新对象的 adjustmentRules 中与夏令制相关的任何信息;否则为 false

返回

新时区。 如果 disableDaylightSavingTime 参数为 true,则返回的对象没有夏令制数据。

例外

id 参数为 null

id 参数为空字符串 ("")。

- 或 -

baseUtcOffset 参数不表示整分钟数。

baseUtcOffset 参数大于 14 小时或小于 -14 小时。

adjustmentRules 参数中指定的调整规则重叠。

- 或 -

adjustmentRules 参数中指定的调整规则未按时间顺序排列。

- 或 -

adjustmentRules 中的一个或多个元素为 null

- 或 -

一个日期可能有多个应用于它的调整规则。

- 或 -

baseUtcOffset 参数与 adjustmentRules 数组中一个或多个对象的 DaylightDelta 值的和大于 14 小时或小于 -14 小时。

示例

以下示例为南极洲的帕尔默站和安弗斯岛创建自定义时区。 它在调用 TimeZoneInfo.CreateCustomTimeZone 方法时将 参数设置为 。disableDaylightSavingTimetrue 然后,它显示新时区的夏令时名称(如果存在),以及用于确认新时区没有夏令时信息的调整规则数。

// 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;如果 disableDaylightSavingTimedisableDaylightSavingTimetrue,则为方法返回的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)

通过执行以下操作定义时区的调整规则:

  1. CreateFloatingDateRule调用 或 CreateFixedDateRule 方法以定义每个调整规则的开始和结束转换规则。

  2. CreateAdjustmentRule为每个调整规则调用 方法。

  3. 将调整规则分配给可以作为 参数传递的 adjustmentRules 数组。

如果 disableDaylightSavingTime 参数为 false,则此方法的操作与 TimeZoneInfo.CreateCustomTimeZone 重载相同。 如果 disableDaylightSavingTimetrue,则返回的对象不包含调整规则和 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

id 参数为空字符串 ("")。

- 或 -

baseUtcOffset 参数不表示整分钟数。

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.CreateCustomTimeZoneTimeZoneInfo.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

id 参数为空字符串 ("")。

- 或 -

baseUtcOffset 参数不表示整分钟数。

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.CreateCustomTimeZoneTimeZoneInfo.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 的时区,必须创建新的时区对象。

时区的调整规则通过执行以下操作来定义:

  1. CreateFloatingDateRule调用 或 CreateFixedDateRule 方法以定义每个调整规则的开始和结束转换时间。

  2. CreateAdjustmentRule为每个调整规则调用 方法。

  3. 将调整规则分配给可以作为 参数传递的 adjustmentRules 数组。

另请参阅

适用于