3

カナダのオンタリオ州の現在の日時の値を見つけたいです。次のコードを使用しましたが、機能しません。

DateTime date = DateTime.ParseExact("20130930","yyyymmdd",System.Globalization.CultureInfo.CreateSpecificCulture("en-CA"));

20130930今日の日付、つまり 2013-09-30 です。yyyymmdd 形式で出力したい。私も試しました:

DateTime date = DateTime.ParseExact("20130930","yyyymmdd",System.Globalization.CultureInfo.CreateSpecificCulture("FR-CA"));

しかし、結果は として表示されます30-01-2013 00:09:00。誰でも私が犯した間違いを教えてください。必要に応じて修正してください。

4

1 に答える 1

3

フォーマット文字列が正しくありません

試してみてくださいyyyyMMdd

日時を文字列に戻す必要がある場合

DateTime date = DateTime.ParseExact("20130930","yyyyMMdd",System.Globalization.CultureInfo.CreateSpecificCulture("en-CA"));
string result =  date.ToString("yyyyMMdd",  System.Globalization.CultureInfo.InvariantCulture);

DateTime FormatsMMは月mm用で、分用です

カスタムの日付と時刻の書式文字列

現在の時刻を UTC に変換し、それを使用してメソッドを使用してカナダの日時を見つけることConvertTimeFromUtcができますが、知っておく必要がありますTimeZoneId(これは役に立ちます) 。

var result =   TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(),
                TimeZoneInfo.FindSystemTimeZoneById("Atlantic Standard Time"));
于 2013-09-30T11:26:09.860 に答える