ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript 日付オブジェクト Date (概要共有)

JavaScript 日付オブジェクト Date (概要共有)

WBOY
WBOY転載
2022-06-27 13:48:572148ブラウズ

この記事では、javascript に関する関連知識を提供します。主に、Date オブジェクトの作成、Date オブジェクトのメソッドなど、Date オブジェクト Date に関連する問題を次のように整理しています。 , 皆様のお役に立てれば幸いです。

JavaScript 日付オブジェクト Date (概要共有)

[関連する推奨事項: JavaScript ビデオ チュートリアル Web フロントエンド ]

日付と時刻は次のとおりです。プログラミング プロセス 幸いなことに、JavaScript は組み込みオブジェクト Date (日付) を用意してくれました。このオブジェクトを通じて、作成、保存、変更、時間の測定、印刷、その他の基本的な操作を行うことができます。これは、すべての JavaScript プログラマーにとって必須のコースの 1 つです。

Date オブジェクトの作成

通常のオブジェクトと同様に、new Date() を使用して Date オブジェクトを作成できます。作成時にいくつかの初期化パラメータを渡します。

#new Date()

パラメータなしの作成ケース:

let now = new Date()console.log(now)
コードの実行結果は次のとおりです:

JavaScript 日付オブジェクト Date (概要共有)

これは、コードが実行されたときの特定の時間を出力するだけです。ここに表示されるのは、2022 年 6 月 22 日の

19:25 と 24 秒です。

new Date(ミリ秒)

ミリ秒パラメータを使用して日付オブジェクトを作成します。

ミリ秒

は、1970 年 1 月 1 日からの時間を指します。 UTC 0 からのミリ秒単位 (1 ミリ秒 = 1/1000 秒)。 <pre class="brush:php;toolbar:false">//创建一个时间,举例1970.1.1时间点0毫秒 let jan01_1970 = new Date(0) console.log(jan01_1970) //创建一个时间,比1970年1.1时间点晚3天(3天*24小时*3600秒*1000毫秒) let jan04_1970 = new Date(3 * 24 * 3600 * 1000) console.log(jan04_1970)</pre> コード実行結果:

JavaScript 日付オブジェクト Date (概要共有)

ミリ秒

は、1970 年 1 月 1 日の 00:00:00 からの経過時間です。ミリ秒数、つまり timestampタイムスタンプは日付を単純にデジタル表現したもので、通常は

new Date(ミリ秒)

を使用して日付を作成します。すでに日付 Date オブジェクトがある場合は、date.getTime() を使用して、日付に対応するタイムスタンプを取得できます。 #注:

中国はゾーン 8 に位置しているため、上記の例の時刻は 00:00:00 ではなく、08:00:00

1970 年より前ですか?

タイムスタンプは整数だけでなく、負の数値も指定できます。例:

//1969-12-31 00:00:00let dec31_1969 = new Date(-24 * 3600 * 1000)console.log(dec31_1969)

コード実行結果:

new Date(date_str )JavaScript 日付オブジェクト Date (概要共有)

各作成時刻にタイムスタンプを使用する場合、タイムスタンプの計算がまだ少し難しいため、不便になる可能性があります。

時刻文字列を使用して時刻を作成することもできます。例:

let date = new Date('2022-06-22 00:00:00')console.log(date)
コード実行結果:

new Date(年、月、日、時、分、秒、ミリ秒)JavaScript 日付オブジェクト Date (概要共有)

    ——4 桁の数字である必要があります;
  • month
  • ——
  • [0,11]0 は 1 月を意味します; date—毎月の特定の日、デフォルトは 1
  • ;
  • 時間/分/秒/ミリ秒
  • ——デフォルトは 0;
  • 例:
let date = new Date(2022,6,22,20,35,33)console.log(date)
コード実行結果:

ミリ秒数も指定できます: JavaScript 日付オブジェクト Date (概要共有)

let date = new Date(2022,6,22,20,35,33,777)console.log(date)

Date オブジェクトのメソッド

##Date オブジェクトがある場合、

Date

オブジェクトの組み込みメソッドを通じて、年、月、日付などの時刻の一部を取得できます。 日付コンテンツの取得

たとえば、datedate:

let date = new Date(2022,5,22,20,35,33)

getFull Year() があります。

年を取得、
    date.getFull Year()
  1. Return 2022; getMonth()月を取得、
  2. date .getMonth( )
  3. 6 月である 5 を返します; getDate()現在の月の日付を取得します。
  4. date.getDate ()
  5. Return22;getDay()現在の時刻が何曜日であるかを取得します。
  6. date.getDay()
  7. return 3;注:
  • 以上日期都是已于当地日期的,比如我这里是中国的时区
  • 获取年份一定要用getFullYeargetYear会返回两位数的年份

我们也可以获得0时区的时间,也就是UTC时间,分别对应getUTCFullYear()getUTCMonth()getUTCDay等。只需要在get后插入UTC即可。

举个例子:

let date = new Date(2022,5,22,20,35,33)console.log(date.getHours(),date.getUTCHours())

代码执行结果:

JavaScript 日付オブジェクト Date (概要共有)

夜里也可以看出,中国时区和0时区相差8小时。

  1. getTime()返回日期的时间戳,方法没有UTC模式;
  2. getTimezoneOffset()返回本地时区和0时区相差的时间,以分钟为单位,并且没有UTC模式;

设置日期内容

我们还可以通过Date对象的方法设置日期中的某一部分:

  • setFullYear(year, [month], [date])设置年份(月份、日)
  • setMonth(month, [date])设置月份(日)
  • setDate(date)设置日期(月份的第几天)
  • setHours(hour, [min], [sec], [ms])设置小时(分、秒、毫秒)
  • setMinutes(min, [sec], [ms])设置分钟(秒、毫秒)
  • setSeconds(sec, [ms])设置秒(毫秒)
  • setMilliseconds(ms)设置毫秒
  • setTime(milliseconds)(使用自 1970-01-01 00:00:00 UTC+0 以来的毫秒数来设置整个日期)

以上函数中只有setTime()没有UTC变体。

日期的自动校准

JavaScriptDate具备自动校准功能,这为我们针对时间的计算提供了极大的方便。

例如:

let date = new Date(2022,5,38)//注意这里的38console.log(date)

代码的执行结果:

屏幕截图 2022-06-23 185419

从执行结果我们可以看出"2022年6月38号"并没有使程序出现错误,而是将日期转成了”2022年7月8号“。

以上案例验证了,在JavaScript中,超出范围的日期会被Date对象自动分配。这样我们就可以非常方便的使用Date对象进行日期的计算。

例如,我们可以在日期上对年、月、日进行加减法运算:

let date = new Date(2022,5,23)//当前时间是2022-6-23date.setDate(date.getDate() + 8)//计算八天后的时间console.log(date)

代码执行结果:

JavaScript 日付オブジェクト Date (概要共有)

同样的,我们也可以使用date.setSeconds()方法已秒为单位计算日期。

日期转为数字、日期差值

日期Date转为数字的结果和使用date.getTime()的返回值相同,都是毫秒为单位的数值:

let date = new Date()console.log(+date)

代码执行结果:

JavaScript 日付オブジェクト Date (概要共有)

既然时间的本质就是数字,我们也可以进行时间差计算,并且以ms(毫秒)为单位。

例如:

let date1 = new Date(2022,5,23)let date2 = new Date(2022,5,24)console.log(`时间差为${date2-date1}ms`)

代码执行结果为:

JavaScript 日付オブジェクト Date (概要共有)

Date.now()

如果我们希望获得当前时间,更优的做法是使用Date.now()方法。这个方法会返回当前时间的时间戳,同时不需要创建额外的Date对象,这对内存开销、垃圾回收都是有好处的,而且代码更简洁。

举个栗子:

let begin = Date.now()for(let i = 1;i<p>代码执行结果:</p><p><img src="https://img.php.cn/upload/article/000/000/067/2e91502ffdbd23d1af26c248feabbead-11.png" alt="JavaScript 日付オブジェクト Date (概要共有)"></p><h3>Date.parse()</h3><p><code>Date.parse()</code>方法可以读取一个日期字符串,并转为时间戳,但是字符串必须遵守一定的规则:<code>YYYY-MM-DDTHH:mm:ss.sssZ</code>。</p>
  • YYYY-MM-DD对应年-月-日
  • T属于分隔符
  • HH:mm:ss.sss对应时:分:秒.毫秒
  • Z可以是+-hh:mm格式的时区。单个字符Z表示UTC+0

字符串可以使用省略写法,例如:YYYY-MM-DDYYYY-MMYYYY

举个小李子:

let ms = Date.parse('2022-06-23T19:38:30.777+08:00')//时间戳let date = new Date(ms)console.log(date)

代码执行结果:

JavaScript 日付オブジェクト Date (概要共有)

概要

  1. JavaScriptDateオブジェクトを使用して時間を処理します: new Date();
  2. 0 からの月の計算
  3. Date には多くの実用的なメソッドがあり、特定の期間を取得できます;
  4. Date オブジェクトは自動的に調整されます。日付を直接加算および減算できます。
  5. Date.now() は現在時刻を効率的に取得できます。

[関連する推奨事項: JavaScript ビデオチュートリアルWeb フロントエンド]

以上がJavaScript 日付オブジェクト Date (概要共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。