1

コードが以下に示されている日時変換に問題があります

DateTime indianStd = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "India Standard Time");
DateTime MyanmarStd = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Myanmar Standard Time");
DateTime SEAsia = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "SE Asia Standard Time");
DateTime dtConvertedDT = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(MyanmarStd, "India Standard Time");

これらの時間をラベルに印刷するとき

indianStd時刻を4:30:45に表示します。

ConvertedDtが5:30:45を示しているのに対し、なぜこの1時間の違い
が、どの体も私にこの理由を教えてくれるのか

4

5 に答える 5

0

彼らは異なるタイムゾーンなので? http://www.happyzebra.com/timezones-worldclock/India-and-Myanmar.php

于 2012-10-04T11:33:32.530 に答える
0

ISTとミャンマーの時差は1時間です。

ISTはUTC+5.30時間
ミャンマー(ラングーン)はUTC+6.30時間

これを確認するには、コンピュータの日付と時刻->タイムゾーン設定をチェックインするだけです。

ここに画像の説明を入力してください

于 2012-10-04T11:33:52.543 に答える
0

Kindミャンマーオブジェクトのプロパティを確認してください。これをローカルに設定します。

于 2012-10-04T11:34:11.430 に答える
0

これを試して:

public DateTime ConvertToIndianDateTime()
{

var myanMarDateTime = your myanmar date time
myanMarDateTime.Kind = DateTimeKind.Local; 
var indianTimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");

return TimeZoneInfo.ConvertTime(myanMarDateTime, indianTimeZoneInfo, TimeZoneInfo.Local);
}
于 2012-10-04T13:31:18.000 に答える
0
   DateTime indianStd = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "India Standard Time");

   DateTime MyanmarStd = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Myanmar Standard Time");

DateTime SEAsia = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "SE Asia Standard Time");

 DateTime ConvertedDt = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(MyanmarStd, "Myanmar Standard Time", "India Standard Time");   

これにより、現在の日時が返されます

于 2012-10-05T04:07:50.670 に答える