ASP.Net MVCアプリケーションでクライアントのタイムゾーン名(インド標準時など)が必要です。ASP.Net MVCアプリケーションでクライアントTimeZoneを取得する方法
ですので、TimeZoneInfo.FindSystemTimeZoneById(TimeZoneName)
機能を使用できます。
私はこのコードでは夏時間に問題がある、new Date().getTimezoneOffset()
(reference)
と試みたが、しています。 JavaScriptで
、私はまた、new Date().toString()
で試してみました。しかし、これは他のブラウザと異なる形式で結果を提供します。 Firefoxの、クロム& Safariで
は、 回答は "火2012年5月8日午前14時00分00秒GMT + 0530(インド標準時)" IE8では
あり、それは「火5月8日午後2時です。 00 UTC + 0530 2012 "
オペラにも同様の問題があります。
したがって、このメソッドはIE & Operaでは機能しません。
クライアントのタイムゾーンを特定する最も良い方法は何ですか?
私はクライアントの時間が欲しくない、私はクライアントのタイムゾーンが欲しい。 夏時間のため、前述のようにTimeOffsetが適切ではありません。 – Harsh
私が言っていることは、タイムゾーンは信頼できないということです。 "歴史的に関連性が高い、または地理的に正確な時間帯を探している場合は、jsTimezoneDetectはあなたのためではありません。 このスクリプトはジオロケーションを実行しません。 たとえば、中部ヨーロッパの異なるタイムゾーンを区別することは不可能です。このスクリプトは、中欧のタイムゾーンにどこに住んでいるかに関係なく、ヨーロッパ/ベルリンを返します。 " –
これで、クライアントの時刻をキャプチャし、C#TimeZoneInfoクラスを使用してクライアントのタイムオフセットに一致するタイムゾーンを選択することで、そのスクリプトの動作を正確に行うことができますが、引き続き推測しています。これが明示的に自分のタイムゾーンを知る必要があれば、私は言ったのです。誰かがより良い解決策を思いついたら、私は興味を持っていきます。 –