輕鬆轉換Unix時間戳和.NET DateTime對象
Unix時間戳是計算領域中一種常見的日期時間表示方法,本文將介紹如何在C#中輕鬆地將Unix時間戳轉換為.NET DateTime對象,以及反向轉換的方法。
從Unix時間戳到DateTime
將Unix時間戳(自Unix紀元,即1970年1月1日0時0分0秒UTC開始的秒數)轉換為C#中的DateTime對象非常簡單:
<code class="language-csharp">public static DateTime UnixTimeStampToDateTime(double unixTimeStamp) { // Unix时间戳表示自纪元以来的秒数 DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); dateTime = dateTime.AddSeconds(unixTimeStamp).ToLocalTime(); return dateTime; }</code>
從DateTime到Unix時間戳
相反地,將DateTime對象轉換回Unix時間戳同樣簡單:
<code class="language-csharp">public static double DateTimeToUnixTimeStamp(DateTime dateTime) { // 转换为UTC时间以避免夏令时问题 dateTime = dateTime.ToUniversalTime(); // 计算自Unix纪元以来的秒数 double unixTimeStamp = (dateTime - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds; return unixTimeStamp; }</code>
Java注意事項
Java使用毫秒錶示Unix時間戳,而.NET使用秒。請根據需要調整Java代碼中的轉換函數。
以上是如何在Unix時間戳和.NET DateTime對象之間進行轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!