在 .NET 中,日期和時間通常使用 DateTime 或 DateTimeOffset 來表示。這兩種資料型別都可以表示日期和時間,但它們之間有一些明顯的區別。DateTime 是不帶時區資訊的,而 DateTimeOffset 是帶時區偏移量的,可以用來表示一個特定的時刻。
在現代 web 應用中,我們經常需要將日期和時間資料序列化為 JSON 格式,以便在客戶端和服務端之間進行通訊。.NET 提供了多種方法來實現 JSON 序列化,其中 System.Text.Json 庫是 .NET Core 3.0 以後推出的新型 JSON 序列化器,它比早期的 DataContractJsonSerializer 和 Newtonsoft.Json 更快,更輕量,並且提供了更為豐富的功能。
在本文中,我們將探討如何在 System.Text.Json 中將 DateTimeOffset 序列化為時間戳。
程式碼示例
下面是一個簡單的 .NET Core 控制檯應用,它演示瞭如何使用 System.Text.Json 庫將 DateTimeOffset 序列化為時間戳。
using System;
|
執行結果如下:
1603592100000
|
可以看到,DateTimeOffset 物件已經被序列化為時間戳形式的 JSON 資料。
使用建議
在實際應用中,建議將 DateTimeOffsetConverter 類定義為一個單獨的檔案,例如 DateTimeOffsetConverter.cs,這樣就可以輕鬆地在多個專案中複用該轉換器。
另外,在實際專案中,可能需要對時間戳的格式進行進一步的自定義。
總結
本文介紹瞭如何使用 System.Text.Json 庫將 DateTimeOffset 序列化為時間戳。實際應用中,序列化為時間戳可以使客戶端更容易處理日期和時間資料,而且能夠提高資料傳輸的效率。
參考資料
本文采用 Chat OpenAI 輔助注水澆築而成,如有雷同,完全有可能。
- 本文連結: https://www.newbe.pro/ChatAI/How-to-serialize-datetimeoffset-to-unitx-timestamp-by-system-text-json/
- 版權宣告: 本部落格所有文章除特別宣告外,均採用 BY-NC-SA 許可協議。轉載請註明出處!