忍者ブログ
開発中に遭遇した落とし穴や忘れそうな事柄を書いた個人メモ
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新コメント
[02/03 NONAME]
最新トラックバック
プロフィール
HN:
No Name Ninja
性別:
非公開
バーコード
ブログ内検索
アクセス解析
10
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Azureにおいて、日時に取り扱いは注意が必要
現在日時を求めるときDateTime.Nowで取得すると、UTC基準の日時で取得される
そのため、時差の補正を行う必要がある。

これを回避するために、現在日時を特定の場所(たとえば、日本など)のタイムゾーンで保管しておくと
補正の必要がなくなる(ただし、ワールドワイドにサイトを展開する場合は、その限りでない)

そこで、DateTime.Nowで取得しているところを

TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now.ToUniversalTime(), "Tokyo Standard Time");

に変更する。

懸案事項
まだ、よくわかっていないが、ストレージに保管されたテーブルの内容を確認すると
(VS2010のサーバーエクプローラーで)、上記の方法で、日時を保管すると
現在日時+9時間で保管されている?????
ただし、これでGridViewで内容を表示するとちゃんと現在日時として表示できている

DateTime.Nowで保管すると、ストレージの内容は、現在日時になっているが、
GridViewで表示すると、-9時間された日時が出力される?????

なんで、このような動作になってしまうか、現時点不明


もうひとつ、わからないところは、Timestampのフィールドは、-9時間されてストレージに保管されていて
GridViewにこのまま出力すると、-9時間された内容そのままで出力される?????
上記のパターンでいけば、-18時間されて出力されていいはずがそうならない!!なぜか不明

まあ、どっか勘違いしていると思われるが。。。。。。。

拍手

PR
お名前
タイトル
文字色
URL
コメント
パスワード
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
Copyright c 技術メモ All Rights Reserved
Powered by ニンジャブログ  Designed by ピンキー・ローン・ピッグ
忍者ブログ / [PR]