1 ///
2 /// 将 DateTime 转换为 Unix 时间戳
3 ///
4 /// 需要转换的时间
5 /// Unix 时间戳
6 public static long DateTimeToUnixTime(DateTime dateTime)
7 {
8 return (long)(dateTime - TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1, 0, 0, 0), TimeZoneInfo.Local)).TotalSeconds;
9 }
1 ///
2 /// 将 Unix 时间戳转换为 DateTime
3 ///
4 /// Unix 时间戳
5 /// 需要转换的时间
6 public static DateTime UnixTimeToDateTime(long timestamp)
7 {
8 if (timestamp < 0)
9 throw new ArgumentOutOfRangeException("timestamp is out of range");
10
11 return TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1, 0, 0, 0), TimeZoneInfo.Local).AddSeconds(timestamp);
12 }