在C#中,你可以使用以下代码将日期和时间格式化为 ISO 8601 格式:
DateTime dateTime = DateTime.Now; string iso8601DateTime = dateTime.ToString("yyyy-MM-ddTHH:mm:ss.fffzzz");
这将返回一个字符串,其中包含当前日期和时间的 ISO 8601 格式表示。具体来说,格式字符串"yyyy-MM-ddTHH:mm:ss.fffzzz"的含义如下:
"yyyy":四位数的年份"MM":两位数的月份"dd":两位数的日期"T":日期和时间之间的分隔符"HH":24小时制的小时数"mm":分钟数"ss":秒数"fff":毫秒数"zzz":时区偏移量(例如:+08:00)
请注意,这个代码使用了当前时间来示例,你可以根据需求来替换 DateTime.Now 来获取不同的日期和时间。
C# 2019-01-01T01:01:01Z(UTC时间) 在C#中,你可以使用以下代码将符合 ISO 8601 格式的日期时间字符串解析为相应的 DateTime 对象:
string iso8601DateTime = "2019-01-01T01:01:01Z"; DateTime dateTime = DateTime.ParseExact(iso8601DateTime, "yyyy-MM-ddTHH:mm:ssZ", null, DateTimeStyles.RoundtripKind);
这会将 ISO 8601 格式的字符串 "2019-01-01T01:01:01Z" 解析为一个 DateTime 对象,并将其存储在 dateTime 变量中。具体来说,ParseExact 方法使用了格式字符串 "yyyy-MM-ddTHH:mm:ssZ",它对应于 ISO 8601 格式的日期时间表示法。
请注意,这个示例假设输入字符串是 UTC 时间(以字符 'Z' 结尾)。如果输入字符串不是 UTC 时间,而是带有时区偏移量的本地时间,你需要使用带有时区信息的 DateTimeOffset 类型来处理。
DateTime dateTime = DateTime.Now;
string iso8601DateTime = dateTime.ToString("yyyy-MM-ddTHH:mm:sszzz");
在 C# 中,可以使用 DateTime 类型来表示日期和时间。要实现形如 "2023-04-19T13:09:24Z" 的时间类型,可以使用 DateTime.ParseExact 方法来解析该字符串,并指定相应的格式。
下面是一个示例代码,演示如何将字符串 "2023-04-19T13:09:24Z" 转换为 DateTime 类型:
string input = "2023-04-19T13:09:24Z";
DateTime dateTime = DateTime.ParseExact(input, "yyyy-MM-ddTHH:mm:ssZ", null);
在上述代码中,我们使用 DateTime.ParseExact 方法来解析字符串 input,指定了格式字符串 "yyyy-MM-ddTHH:mm:ssZ" 来匹配给定的时间格式。其中,格式说明符的含义如下:
- yyyy: 4 位数的年份
- MM: 2 位数的月份
- dd: 2 位数的日期
- T: 表示时间和日期的分隔符
- HH: 2 位数的小时(24小时制)
- mm: 2 位数的分钟
- ss: 2 位数的秒钟
- Z: 表示时区的标识符(表示 UTC 时间,即零时区)
如果解析成功,dateTime 变量将包含对应的 DateTime 对象,表示了 "2023-04-19T13:09:24Z" 这个时间。你可以根据需要对其进行进一步处理和操作。
需要注意的是,DateTime 对象默认会存储本地时间信息,而不是 UTC 时间。如果你需要将 DateTime 对象转换为 UTC 时间,可以使用 DateTime.ToUniversalTime 方法。
DateTime utcDateTime = dateTime.ToUniversalTime();
上述代码将把 dateTime 转换为 UTC 时间,并存储在 utcDateTime 中。