Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 生成全局UNIX时间戳_C#_Datetime_Unix Timestamp - Fatal编程技术网

C# 生成全局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时间戳,它适用于所有国家和地区。我已经在.NET(C#.NET)平台上用UNIX时间戳弄脏了我的手。但我注意到,在不同的国家实际上并不是在不同时区的国家,这个时间戳可能已经改变了

是否可以对所有时区、地区或国家进行相同的调整


感谢

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;
}