1. 程式人生 > >C# DateTIme 轉時間戳

C# DateTIme 轉時間戳

C# DateTIme 轉時間戳

時間戳是指格林威治時間 1970 年 01 月 01 日 00 時 00 分 00 秒(北京時間 1970 年 01 月 01 日 08 時 00 分00 秒)起至現在的總秒數。在 C# 中將 DateTime 轉換為時間戳時,需要注意如下兩點:

  1. 時區要統一,最好先使用 ToLocalTime()ToUniversalTime() 方法來統一時區。
  2. Unix 中,時間戳的單位為 (10 位數字);而在 JavaScript 中,時間戳的單位為 毫秒(13 位數字)。
/// <summary>
/// 日期時間輔助類。
/// </summary>
public static class DateTimeHelper { public static DateTime DateTime1970 = new DateTime(1970, 1, 1).ToLocalTime(); /// <summary> /// 獲取從 1970-01-01 到現在的毫秒數。 /// </summary> /// <returns></returns> public static long GetTimeStamp() { return (long) (DateTime.Now.
ToLocalTime() - DateTime1970).TotalSeconds; } /// <summary> /// 計算 1970-01-01 到指定 <see cref="DateTime"/> 的毫秒數。 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static long GetTimeStamp(DateTime dateTime) { return
(long) (dateTime.ToLocalTime() - DateTime1970).TotalSeconds; } }