时区转换 C# 时没有得到准确的印度时间
Not getting exact Indian Time while Time zone converstion C#
我正在尝试在我的 C# 代码中将英国时间转换为印度标准时间(我的系统时区在 IST
):
DateTime ukTime = 2015-09-02 05:03 PM;
TimeZoneInfo INDIAN_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
DateTime indianTime = TimeZoneInfo.ConvertTimeFromUtc(ukTime , INDIAN_ZONE);
对应的印度日期和时间是2015-09-02 09:33 PM
。
但我得到的输出为 2015-09-02 10:36 PM
(比预期结果多一小时)。我怎样才能得到正确的输出?
提前致谢
我想你是想这样做:
DateTime ukTime = new DateTime(2015, 9, 2, 17, 3, 0); // 2015-09-02 05:03 PM
TimeZoneInfo UK_ZONE = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time");
TimeZoneInfo INDIAN_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
DateTime indianTime = TimeZoneInfo.ConvertTime(ukTime, UK_ZONE, INDIAN_ZONE);
// 2015-09-02 09:33 PM
"UK time" 与 UTC 或 GMT 不同。英国仅在一年中的部分时间遵循 GMT。一年中的其他时间是英国夏令时 (BST),即 UTC+1。
我正在尝试在我的 C# 代码中将英国时间转换为印度标准时间(我的系统时区在 IST
):
DateTime ukTime = 2015-09-02 05:03 PM;
TimeZoneInfo INDIAN_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
DateTime indianTime = TimeZoneInfo.ConvertTimeFromUtc(ukTime , INDIAN_ZONE);
对应的印度日期和时间是2015-09-02 09:33 PM
。
但我得到的输出为 2015-09-02 10:36 PM
(比预期结果多一小时)。我怎样才能得到正确的输出?
提前致谢
我想你是想这样做:
DateTime ukTime = new DateTime(2015, 9, 2, 17, 3, 0); // 2015-09-02 05:03 PM
TimeZoneInfo UK_ZONE = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time");
TimeZoneInfo INDIAN_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
DateTime indianTime = TimeZoneInfo.ConvertTime(ukTime, UK_ZONE, INDIAN_ZONE);
// 2015-09-02 09:33 PM
"UK time" 与 UTC 或 GMT 不同。英国仅在一年中的部分时间遵循 GMT。一年中的其他时间是英国夏令时 (BST),即 UTC+1。