2
我们正在开发一个C#web应用程序,它必须处理Unix时间戳和C#DateTime对象。时间戳必须转换为DateTime对象。C#:Unix时间戳和日期时间
下面的例子显示了我的问题:日期时间应该是'18 .10.2011 14时02' 分32秒
System.DateTime time = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
time = time.AddSeconds(1318939352);
System.Console.Out.WriteLine("Time: " + time); // -> 18.10.2011 12:02:32
如果我在我的开发机器上调用ToLocalTime(),日期时间是正确的:
System.DateTime time = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
time = time.AddSeconds(1318939352).ToLocalTime();
System.Console.Out.WriteLine("Time: " + time); // -> 18.10.2011 14:02:32
但是,应用程序将运行在另一个时区(GMT标准时间)托管的服务器上,因此我必须处理不同的时区,第二个示例在此服务器上失败。 无论我主持应用程序的位置如何,本例中的日期应始终打印为18.10.2011 14:02:32。
有谁知道我该怎么做?提前致谢!
最好的问候, 托尔斯滕
时,你的情况下,为什么不指定'DateTimeKind.Utc',运作的?像新的System.DateTime(1970,1,1,0,0,0,0,DateTimeKind.Utc);'(希望14:02:32是格林尼治标准时间) – V4Vendetta
总是以UTC存储时间,这是客户端应用程序告诉服务器如何将输出格式化的时间。 – Angelom
@ V4Vendetta - 14:02:32是GMT + 2 – Polity