我想知道从1970年1月1日到今天太平洋标准时间上午9点已经过去了多少秒。我如何在C#中做到这一点?
我需要在前端应用程序,其中每个设备可以有不同的时区。但不管怎样,我需要从今天的太平洋标准时间上午9点开始经过的秒数。
发布于 2018-07-11 19:00:34
如果您的服务器设置为使用PST时间,则可以执行以下操作
是这样的:
TimeSpan test = DateTime.Now - new DateTime(1970, 01, 01);
MessageBox.Show(test.TotalSeconds.ToString());
对于一个班轮:
MessageBox.Show((DateTime.Now - new DateTime(1970, 01, 01))
.TotalSeconds.ToString());
如果您不能保证您的代码将在运行的计算机上使用PST,您可以这样声明时区
var zone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
var utcNow = DateTime.UtcNow;
var pacificNow = TimeZoneInfo.ConvertTimeFromUtc(utcNow, zone);
MessageBox.Show((pacificNow - new DateTime(1970, 01, 01))
.TotalSeconds.ToString());
希望这能有所帮助
发布于 2018-07-11 19:05:07
TimeZoneInfo destTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
int timeZoneDiffSeconds = (int) destTimeZone.BaseUtcOffset.Subtract(TimeZoneInfo.Local.BaseUtcOffset).TotalSeconds;
DateTime todayLocal9Am = DateTime.Today.Date + new TimeSpan(9, 0, 0);
Int32 unix9AmLocalTime = (Int32) (todayLocal9Am.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
Int32 unix9AmPstTime = unix9AmLocalTime - Math.Abs(timeZoneDiffSeconds);
Console.WriteLine(unix9AmPstTime);
Console.Read();
https://stackoverflow.com/questions/51283730
复制相似问题