C# 生成全局UNIX时间戳
我希望生成全球UNIX时间戳,它适用于所有国家和地区。我已经在.NET(C#.NET)平台上用UNIX时间戳弄脏了我的手。但我注意到,在不同的国家实际上并不是在不同时区的国家,这个时间戳可能已经改变了 是否可以对所有时区、地区或国家进行相同的调整C# 生成全局UNIX时间戳,c#,datetime,unix-timestamp,C#,Datetime,Unix Timestamp,我希望生成全球UNIX时间戳,它适用于所有国家和地区。我已经在.NET(C#.NET)平台上用UNIX时间戳弄脏了我的手。但我注意到,在不同的国家实际上并不是在不同时区的国家,这个时间戳可能已经改变了 是否可以对所有时区、地区或国家进行相同的调整 感谢Unix时间戳被定义为自Unix纪元以来经过的秒数,这是一个时间点,通常定义为1970年1月1日UTC的午夜。因此,时间戳已经是全局的-生成时间戳的最简单方法是使用DateTime.UtcNow获取UTC时间(不受时区的影响),而不是DateTim
感谢Unix时间戳被定义为自Unix纪元以来经过的秒数,这是一个时间点,通常定义为1970年1月1日UTC的午夜。因此,时间戳已经是全局的-生成时间戳的最简单方法是使用
DateTime.UtcNow
获取UTC时间(不受时区的影响),而不是DateTime.Now
返回系统的本地时间(取决于时区)
private static readonly DateTime UnixEpoch =
new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
public long GetUnixTimestamp()
{
TimeSpan diff = DateTime.UtcNow - UnixEpoch;
return (long) diff.TotalSeconds;
}