2017-04-02 16 views
0

'11:00 'のようなUTC形式の文字列を現地時間に同じ形式で変換する方法私はそれを変換するにはJavaScriptの日付関数を使用しているが、私は高速かつ信頼性の高い代替をしたい。UTC時刻文字列をJavaScriptのローカルタイムゾーンに変換する

また、ローカルタイムゾーンでタイムゾーンの省略形と曜日を取得する。

+1

momentjsは、時間と日付を処理する必要がある場合にJSで使用する共通ライブラリです。多分それが助けることができますか? [http://momentjs.com/timezone/](http://momentjs.com/timezone/) –

答えて

0

UTCで'11:00 'のような文字列をローカル時間に同じ 形式で変換する方法。

以下では、「ローカル」とは、ホストシステムのタイムゾーン設定を考慮した非UTCメソッドによって返される値を意味します。

1つの方法は、日付を作成し、UTC時間を適切な時間に設定し、次にローカル時刻値を読み取ることです。

var d = new Date(); 
 
// Set time to 11:00 
 
d.setUTCHours(11,0,0,0); 
 
// Get "local" date and time 
 
console.log(d.toString());

私はそれを変換するために、JavaScriptで日付関数を使用しているが、私は高速で信頼性の高い代替をしたい 。

書籍、図書館、ツールなどのおすすめを求める質問は、話題にはなりません。また

タイムゾーンの名前を推定するためのさまざまなリソースがあるタイムゾーンの略語

を取得するには、しかし、名前には標準ではありません。ほとんどの解決方法は、さまざまな日付のホストタイムゾーンオフセットに基づいています。これは100%信頼できるものではありません。特に、名前が何であるべきかについて合意がないためです。

とローカルタイムゾーンの曜日。

週の地元の日はそう、getDay方法によって提供されています

var dayNumber = d.getDay(); // 0 for Sunday, 1 for Monday, etc. 

ECMA-402国際化インタフェースがサポートされている場合は、あなたが得ることができる曜日名をホストのデフォルトに使用言語:

var d = new Date(); 
 
console.log('Today is ' + d.toLocaleString(undefined, {weekday: 'long'}) + '.')

関連する問題