在C#中进行时间和时间戳的转换
一、时间转换为 毫秒时间戳
由于 UTC 和 中国时区有时间差,
所以我们在时间转换为时间戳的时候,
我们需要多减去8个小时的时区差。
// 时间转换为 毫秒时间戳
public static double TransitionTimeStamp(DateTime dateTime)
{
// 这里增加8小时是因为 UTC(协调世界时) 的时间差
TimeSpan timeSub = dateTime - DateTime.UnixEpoch.AddHours(8);
// 秒转换为毫秒
return timeSub.TotalSeconds * 1000;
}
二、毫秒时间戳 转换为时间
与一同理,我们在时间戳转换为时间的时候,
我们需要多加上8个小时的时区差。
// 毫秒时间戳 转换为时间
public static DateTime TransitionDateTime(double Timestamp)
{
TimeSpan timeSub = TimeSpan.FromMilliseconds(Timestamp);
// DateTime.UnixEpoch对应的时间的时间戳为0
return DateTime.UnixEpoch.Add(timeSub).AddHours(8);
}