[解決済み] TimeZoneInfoを使ってサマータイム中のローカルタイムを取得するには?
2023-05-05 02:43:51
質問
私は
DateTimeOffset
を使って、どの時間帯でも特定の瞬間を伝えようとしています。 私は、どのように
TimeZoneInfo
を使ってサマータイムに対処する方法がわかりません。
var dt = DateTime.UtcNow;
Console.WriteLine(dt.ToLocalTime());
var tz = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
var utcOffset = new DateTimeOffset(dt, TimeSpan.Zero);
Console.WriteLine(utcOffset.ToOffset(tz.BaseUtcOffset));
これは印刷されます。
2010年6月2日 16時37分19秒 2010年6月2日午後3時37分19秒 -06:00
私は中部時間帯に住んでいて、現在サマータイム中です。 2行目を読めるようにしようとしています。
2010年6月2日午後4時37分19秒 -05:00
BaseUtcOffset
は、夏時間によって変化しないようです。
どうすれば適切なオフセット値で正しい時刻を取得できるのでしょうか?
どのように解決するのですか?
TimeZoneInfoからUtcOffsetを取得し、それをToOffset()メソッドに渡す必要があります。
var dt = DateTime.UtcNow;
Console.WriteLine(dt.ToLocalTime());
var tz = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
var utcOffset = new DateTimeOffset(dt, TimeSpan.Zero);
Console.WriteLine(utcOffset.ToOffset(tz.GetUtcOffset(utcOffset)));
関連
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み] [Solved] 不正な文字列値: '\xEFxBFxBD' for column
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
[解決済み】データが存在しないのに読み込もうとする試みが無効である
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プロジェクトビルド時のエラー。エディタでスクリプトにコンパイルエラーがあるため、Playerのビルドにエラーが発生する
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】IntPtrとは一体何なのか?
-
[解決済み] 関数を終了するには?
-
[解決済み】別のスレッドがこのオブジェクトを所有しているため、呼び出し側のスレッドはこのオブジェクトにアクセスできない
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。