【发布时间】:2018-09-11 05:43:12
【问题描述】:
我的时区是 (UTC +05:30)Chennai, Kolkata, Mumbai, New Delhi。
例如:
var date1 = new Date(1944,04,22,0,0,0);
console.log("date1: " + date1);
// output :
// date1: Mon May 22 1944 00:00:00 GMT+0630 (India Standard Time)
var date2 = new Date(1992,11,28,0,0,0);
console.log("date2: " + date2);
// output :
// date2: Mon Dec 28 1992 00:00:00 GMT+0530 (India Standard Time)
date1 在末尾添加 GMT+0630。但是,如果我要在 1945 年之后约会,那很好,即它会添加 GMT+0530。
为什么在 1941 年 10 月 1 日至 1945 年 10 月 14 日之间的日期的时区中增加了一个小时。
当我在 C# 中转换 date1 时:
Convert.ToDateTime("1944-05-21T17:30:00.000Z").ToString("dd/MM/yyyy");
它给了我 21/05/1944 而不是 22/05/1944。
如何在 C# 中获取正确的日期和时间?
【问题讨论】:
-
假设,根据 Wiki 文章:en.wikipedia.org/wiki/…:“简而言之,在第二次世界大战期间,印度标准时间下的时钟提前一小时,称为战争时间。这规定从 1942 年 9 月 1 日持续到 1945 年 10 月 15 日"
-
C# 将 - 假设 .NET - 使用 Windows TZ 信息(取决于 Windows 版本和底层系统调用),并且 JavaScript 规则可能因实现而异..
-
是的,我正在使用 asp.net mvc 4。我如何使用 TZ 信息处理这个问题。请详细说明。
标签: javascript c# date timezone