帳票が出力された時間を日本時間でサーバ上に持っているのですが、

それを、現地時間に変換したいです。
例えば、ニューヨークの人がログインした時、
.NETの関数か何かで、変換したい時刻と、地名を引数として、
その地の時間(サマータイムも加味)が持ってこれるというのがあれば、
実現できると思うのですが、そんな関数あるのでしょうか・・・。

回答の条件
  • 1人5回まで
  • 登録:2009/07/24 10:10:40
  • 終了:2009/07/31 10:15:03

回答(5件)

id:bg5551 No.1

bg5551回答回数1184ベストアンサー獲得回数802009/07/24 10:33:59

ポイント23pt

関数を使わなくても、時差分を足したり引いたりしてあげれば

よいのではないですか。

場所が特定されていればですけど。

id:degucho No.2

degucho回答回数253ベストアンサー獲得回数672009/07/24 10:24:07

ポイント23pt

ややこしいですがこのへんと使えばいけると思います

http://dobon.net/vb/dotnet/system/timezone.html

http://msdn.microsoft.com/ja-jp/library/bb396326.aspx

id:yofukaci No.3

yofukaci回答回数306ベストアンサー獲得回数102009/07/24 11:45:25

ポイント22pt

こんにちは、stepwgn24zさん。

.NETの関数には用意されていないので、自分で作る必要があります。

Time Zoneツールで時差を手早く計算する

http://www.atmarkit.co.jp/fwin2k/win2ktips/794timezone/timezone....

id:pahoo No.4

pahoo回答回数5960ベストアンサー獲得回数6332009/07/24 12:39:09

ポイント22pt

自分で関数を用意する必要があります。


Windowsをインストールするときにタイムゾーンを指定しますよね。

世界各地のタイムゾーン情報そのものはデータとして保持されており、「コンピュータ上に存在するタイム ゾーンを列挙する方法」によって取り出すことができます。

このデータを使って計算すればいいでしょう。

id:ardarim No.5

ardarim回答回数892ベストアンサー獲得回数1422009/07/27 22:39:17

ポイント10pt

.NET 3.5以降では、System.TimeZoneInfoオブジェクトを使って変換することができます。

TimeZoneInfo.FindSystemTimeZoneByIdメソッドで、変換元(日本)と、変換先(現地)のタイムゾーンを取得した上で、ConvertTime メソッド (DateTime, TimeZoneInfo, TimeZoneInfo)を使うことでタイムゾーン変換を行うことができます。


TimeZoneInfo.FindSystemTimeZoneByIdメソッドは、地名を含む厳密なタイムゾーン名しか受け付けませんので、地名から緩くタイムゾーンを検索する場合は解説にあるようにGetSystemTimeZonesですべてのタイムゾーンのコレクションを取得して、この中から地名を含むタイムゾーンを探す必要があります。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません