5

Excel 2010 で Power Query (バージョン: 2.10.3598.81) を介して MS SQL データベースに接続しています。

私の日付はデータベースに UTC で保存されていますが、スプレッドシートではローカルとして表示したいと考えています。

DateTimeZone.From() - DateTimeZone 型に変換しますが、入力日付がローカル タイムゾーンにあると想定します。これは私が望むものとは正反対です。

DateTimeZone.ToLocal() - ソース日付にタイムゾーン情報がないため、エラーが発生すると思います。

私の場合、ローカルはオーストラリアの EST ですが、Excel がローカルのタイムゾーンを取得できれば素晴らしいと思います。(すでにやっているようです)

4

1 に答える 1

6

私は答えを発見したと思います。

タイムゾーン間の変換に使用されると思っていた関数DateTime.AddZone()は、実際には既存の日付にタイムゾーン情報を追加するために使用されます。日付が UTC の場合はDateTime.AddZone([date_created],0)を使用し、日付が既に AEST にある場合はDateTime.AddZone([date_created],10)を使用します。

だから私は今使用することができます:

DateTimeZone.ToLocal(DateTime.AddZone([date_created_UTC],0))

Power Query は、作成された日付を UTC から AEST (またはローカルのもの)に正しく変換します。

于 2014-04-30T01:31:48.000 に答える