📜  c# datetime iso 8601 格式 - C# (1)

📅  最后修改于: 2023-12-03 14:39:42.781000             🧑  作者: Mango

C# Datetime ISO 8601 格式 - C#

本文介绍了 C# 中 datetime 与 ISO 8601 标准之间的关系,同时还提供了一些样例代码来生成、解析、以及格式化日期/时间字符串。

Datetime 与 ISO 8601

Datetime 是 C# 中表示日期和时间的结构体。ISO 8601 是日期和时间的国际标准形式。在 C# 中,Datetime 可以通过其内置的 .ToString() 方法返回指定的格式字符串,也可以使用 ISO 8601 标准格式符,例如 yyyy-MM-ddTHH:mm:ss.fffzzz,来格式化日期/时间字符串。

以下是一些常用的 ISO 8601 标准格式符:

  • yyyy:年份,例如:2022
  • MM:月份,例如:01 (表示1月份)
  • dd:日期,例如:01
  • T:分隔日期和时间的字符
  • HH:小时,例如:13
  • mm:分钟,例如:45
  • ss:秒钟,例如:30
  • fff:毫秒,例如:750
  • zzz:时区,例如:-07:00
样例代码
生成 ISO 8601 格式日期/时间字符串
DateTimeOffset currentTime = DateTimeOffset.Now;
string iso8601String = currentTime.ToString("o");

在上面的代码中,我们使用了 DateTimeOffset.Now 创建了一个当前时间的 DateTimeOffset 对象,然后使用了 ToString("o") 将其格式化成 ISO 8601 标准格式的字符串。

解析 ISO 8601 格式日期/时间字符串
string iso8601String = "2022-01-01T13:45:30.750-07:00";
DateTimeOffset result = DateTimeOffset.Parse(iso8601String);

在上面的代码中,我们使用了 DateTimeOffset.Parse 来解析一个 ISO 8601 格式的字符串,将其转换为一个 DateTimeOffset 对象。

格式化日期/时间字符串为 ISO 8601 格式
DateTimeOffset currentTime = DateTimeOffset.Now;
string iso8601String = currentTime.ToString("yyyy-MM-ddTHH:mm:ss.fffzzz");

在上面的代码中,我们使用了 DateTimeOffset.Now 创建了一个当前时间的 DateTimeOffset 对象,然后使用了 ToString("yyyy-MM-ddTHH:mm:ss.fffzzz") 将其格式化成 ISO 8601 标准格式的字符串。

结论

如果你需要在 C# 中处理日期/时间字符串,并打算使用国际标准格式,你可以采用 ISO 8601 标准来处理。C# 中的 Datetime 结构体内置了很多用于处理日期/时间字符串的方法,而且它的 ToString 方法也支持多种格式化选项,包括 ISO 8601 标准格式。最后,我们提供了一些样例代码来帮助你更好地了解 Datetime 和 ISO 8601 之间的关系。