c# datetime iso 8601 格式

firespeed發表於2024-05-13
📜 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 之間的關係

其他參考
http://imangodoc.com/7L2Vm06h.html

https://www.jb51.net/program/306240wa3.htm

https://blog.csdn.net/lilongsy/article/details/130130776

http://www.albertbamboo.cn/knowledge/technology/2021/04/03/iso-8601-duration-format.html

http://imangodoc.com/ 芒果文件

相關文章