2017-03-03 2 views

答えて

8

JavaScriptを使用するためにインターネット接続が必要ないとすれば、 &クライアントのローカル環境からの時間(プロキシ別、UTCオフセット/ロケール)。ローカルクロックを変更することでこれをテストできます。

戻ったばかりのそれを変更することを忘れないでください.. :)

3

はい、これは、呼び出しが評価されているデバイスの現地時間に基づいています。他の言語とほとんど同じです。

+2

なお、[仕様](http://www.ecma-international.org/ecma-262/6.0/#sec-date-constructor-date )は解釈が可能です。それはちょうど "現在の時間" _と言います。理論的には、インプリメンテーションは正しい値を得るためにネットワークタイムサーバに送られます。実際には、ローカルデバイスの時刻です。 –

+0

*ローカルマシン上で日付のシステムコールを行うだけではない共通の商用言語について知っていますか? :) –

+0

いいえ、JavaScriptで仕様が許す範囲を指摘しています。たとえば、C#では、明示的に(https://msdn.microsoft.com/en-us/library/system.datetime.now(v = vs.110).aspx)ローカルマシンの時刻と指定されています。 –

7

JavaScript Dateオブジェクトは、The Epoch(1970年1月1日UTCの深夜)からのミリ秒数に基づいて、瞬間を表します。当然、new Dateは、その値を取得するために実行されている環境のクロックを使用します。したがって、これが私のマシン上のブラウザにあり、私の時計が間違って設定されていると、私のマシンの間違った時刻が使用されます*

次に、その瞬間に関する情報を取得するために使用できる2つの機能があります:ローカルgetHours,getMonthなどのタイムゾーン関数、getUTCHours,getUTCMonthなどのUTC関数などがあります。ローカルタイムゾーン関数は、環境のタイムゾーンで機能します。もちろん、UTCの機能はUTCで動作しています。

だから、たとえば、のは、誰かが3月3日2017年にカリフォルニアにあり、午前11時30分正確その時点でこれを行いましょう:

var dt = new Date(); 
console.log(dt.getHours()); // 11 -- e.g., 11 a.m. 
console.log(dt.getUTCHours()); // 19 -- e.g., 7 p.m. 

オブジェクトの基本値が14885.694億ですが、ローカルタイムゾーン関数は、それが午前11時であり、UTC関数が午後7時であることを示しています。


* James Thorpe points outとして、スペックはちょうどそれが「現在の時刻」を使用していますと言って、それについてa bit vagueですが、理論的には環境は、それがローカルマシン以外のタイムサーバーを使用するようにするには決めることができましたので、しかし...)

1

これはクライアント(ユーザー)のシステム日付です。 構文は次のとおりです。

new Date(); 
new Date(value); 
new Date(dateString); 
new Date(year, month[, date[, hours[, minutes[, seconds[, milliseconds]]]]]); 

Dateオブジェクトは、JavaScript言語に組み込まれているデータ型です。 Dateオブジェクトは、次のように新しいDate()で作成されます。

Dateオブジェクトが作成されると、いくつかのメソッドで操作できます。ほとんどの方法では、ローカル時間またはUTC(ユニバーサルまたはGMT)時間のいずれかを使用して、オブジェクトの年、月、日、時、分、秒、およびミリ秒のフィールドを取得および設定できます。

ECMAScript標準では、Dateオブジェクトは、1970年1月1日以前の1億日以内に任意の日付と時刻をミリ秒の精度で表現できる必要があります。これはプラスまたはマイナス273,785年の範囲ですから、JavaScriptは年月日275755までの日付と時刻を表すことができます。 参照URL:https://www.tutorialspoint.com/javascript/javascript_date_object.htm

関連する問題