次の式が無効なのはなぜですか?javascriptで日付が無効なのはなぜですか?
var hello = new Date(2010, 11, 17, 0, 0, 0, 0);
たとえば、hello.UTC()
は機能しません。
次の式が無効なのはなぜですか?javascriptで日付が無効なのはなぜですか?
var hello = new Date(2010, 11, 17, 0, 0, 0, 0);
たとえば、hello.UTC()
は機能しません。
var hello = new Date(2010, 11, 17, 0, 0, 0, 0);
console.log(hello.toUTCString());
と
var hello2 = Date.UTC(2010, 11, 17, 0, 0, 0, 0);
console.log(hello2);
これら二つは、実際に異なるものをプリントアウトする2つの異なる機能です。
toUTCString()
は - 普遍的な時間に応じて、文字列にDateオブジェクトを変換し
Date.UTC()
として
- ユニバーサルによると、1970年1月1日の真夜中から日付文字列にミリ秒数を返します。時間。
01-1970の真夜中から日付文字列のミリ秒を計算しようとしている場合は、Date.UTC();
を使用する必要があります。しかし、新しい日付(2010、11、17、0、0、0、0)のプロパティを異なる形式で取得しようとしている場合。独自のコンストラクタメソッド(toUTCString()
またはgetUTCMilliseconds()
など)を使用する必要があります。
UTCは、Dateインスタンスのメンバではなく、Dateコンストラクタ自体のメンバであるようです。したがって、UTCを呼び出すには、 Date()
を現在時刻を文字列に変換する必要があります。Date.UTC()
は、1970年1月1日からのミリ秒単位で計算された値を取得して使用します。00:00:00世界時(UTC) 。したがって、それらは「静的」な機能のようです。
さらに、'new'
キーワードを使用して新しいオブジェクト(インスタンス化)を作成するたびに、コンストラクタのthis
値は新しいオブジェクトを指します。だから、こんにちは、Date()
またはDate.UTC()
の反対this
に反対する独自の日付を持つことができます1月1日-1970 00:00:00または返品に基づいて計算を行う別のスコープ(グローバル私は思う)を指しているかDate関数が呼び出された時刻。一方、オブジェクトhelloは、構築されたメソッドのセット(toUTCString();
など)でnew Date(2010, 11, 17, 0, 0, 0, 0)
でインスタンス化された基本日付を持ちます。 this
の新しいDateは、渡されたプロパティをベースの "date"値として使用して新しいObjectを指します。
これらのことはすべて、hello.UTC()
は、そのコンストラクタのメンバーではない関数にアクセスしているため、機能しません。これはJavaScriptのOOPの一部です。これは私の頭の上にあり、あなたがこれを読んでいるならば、おそらくちょっとばかだ。私にエラーがある場合は私を修正してください。
UTCは 日の静的なメソッドなので、あなたは常にとして、Date.UTC()、 としてではなく、あなたが作成した日付 オブジェクトのメソッドとして使用します。
出典:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/UTC
これは私の作品:
var hello = new Date(2010, 11, 17, 0, 0, 0, 0);
window.alert(hello.toUTCString());
UTCは、Dateコンストラクタ自体のメンバーではなく、Dateインスタンスのメンバーであるように思われる –
質問はしてやるべきことがありますJavaScriptがどのようにOOP私は思いますか – kjy112