この文字列の時刻値2017-01-10T13:19:00-07:00
を現地時間(東部)に変換しようとしています。今私の研究から07:00
は(私の地元)2時間beindですMountain Time
です。しかし、この構文を実行して返される出力を変換すると、01/17/2017 10:19:00 AM
は3時間の違いではなく2時間です。時間帯の処理時間
これは私が使用している構文です。この設定は間違っていますか?正確な現地時間をUTC時間から返すために私は何を変えなければなりませんか?私は自分のコンピュータが(正しいもの)の両方のために東を生成し、次の構文を使用して、正しいタイムゾーンに設定されて確認した
static void Main(string[] args)
{
string green = "2017-01-10T13:19:00-07:00";
DateTime iKnowThisIsUtc = Convert.ToDateTime(green);
DateTime runtimeKnowsThisIsUtc = DateTime.SpecifyKind(
iKnowThisIsUtc,
DateTimeKind.Utc);
DateTime localVersion = runtimeKnowsThisIsUtc.ToLocalTime();
Console.WriteLine(localVersion);
Console.ReadKey();
}
EDIT
TimeZone zone = TimeZone.CurrentTimeZone;
string standard = zone.StandardName;
string daylight = zone.DaylightName;
Console.WriteLine(standard);
Console.WriteLine(daylight);
を私はこれに答えを知らないが、私はあなたがおそらく動作する必要があることを知っていますあなたの変数に正しく名前を付ける方法については、p – Markinson
@Markinson - これは単なる例です。私が望むように働くようになると、変数は意味を持つ名前になります。 –
現地時間が実際に東部時間に設定され、夏時間が適切に設定または設定されていないことを確認しましたか? –