返回表首
RFC1123(“R”、“r”)格式说明符
“R”或“r”标准格式说明符表示由 DateTimeFormatInfo.RFC1123Pattern 属性定义的自定义日期和时间格式字符串。 该模式反映已定义的标准,并且属性是只读的。 因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。 定义格式字符串为“ddd, dd MMM yyyy HH':'mm':'ss 'GMT'”。 当使用此标准格式说明符时,格式设置或分析操作始终使用固定区域性。
结果字符串受由 DateTimeFormatInfo 属性(该属性表示固定区域性)返回的 DateTimeFormatInfo.InvariantInfo 对象的下列属性的影响。
Property | 描述 |
RFC1123Pattern | 定义结果字符串的格式。 |
AbbreviatedDayNames | 定义可在结果字符串中出现的缩写的日期名称。 |
AbbreviatedMonthNames | 定义可在结果字符串中出现的缩写的月份名称。 |
尽管 RFC 1123 标准将时间表示为协调世界时 (UTC),格式设置操作也不会修改正在格式化的 DateTime 对象的值。 因此,执行格式设置操作之前,必须通过调用 DateTime 方法将 DateTime.ToUniversalTime 值转换为 UTC。 相反,DateTimeOffset 值自动执行此转换;即执行格式设置操作之前无需调用 DateTimeOffset.ToUniversalTime 方法。
下面的示例使用“r”格式说明符在美国太平洋时区中的系统上显示 DateTime 和 DateTimeOffset 值。
C#复制运行
DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
DateTimeOffset dateOffset = new DateTimeOffset(date1,
TimeZoneInfo.Local.GetUtcOffset(date1));
Console.WriteLine(date1.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
Console.WriteLine(dateOffset.ToUniversalTime().ToString("r"));
// Displays Thu, 10 Apr 2008 13:30:00 GMT
返回表首
可排序(“s”)格式说明符
“s”标准格式说明符表示由 DateTimeFormatInfo.SortableDateTimePattern 属性定义的自定义日期和时间格式字符串。 该模式反映已定义的标准 (ISO 8601),并且属性是只读的。 因此,无论所使用的区域性或所提供的格式提供程序是什么,它总是相同的。 自定义格式字符串为“yyyy'-'MM'-'dd'T'HH':'mm':'ss”。
使用“s”格式说明符的目的是使生成的结果字符串基于日期和时间值一致按升序或降序顺序进行排序。 因此,尽管“s”标准格式说明符采用一致格式表示日期和时间值,但是格式化操作不会修改正在格式化以反映其 DateTime.Kind 属性或 DateTimeOffset.Offset 值的日期和时间对象的值。 例如,通过格式化日期和时间值 2014-11-15T18:32:17+00:00 和 2014-11-15T18:32:17+08:00 生成的结果字符串完全相同。