이 글은 javascript에 대한 관련 지식을 제공합니다. 주로 Date 객체 생성, Date 객체의 메소드 등을 포함하여 날짜 객체 Date와 관련된 문제를 정리합니다. 모두에게 도움이 되기를 바랍니다. .
【관련 권장 사항: javascript 비디오 튜토리얼, web front-end】
날짜와 시간은 프로그래밍 과정에서 생략할 수 없는 필수 과정입니다. 다행히 JavaScript
에는 있습니다. 우리를 위해 준비했습니다. 내장 객체 날짜(date)입니다. 이 객체를 통해 우리는 생성, 저장, 수정, 시간 측정, 인쇄 및 기타 기본 작업을 수행할 수 있습니다. 이는 모든 JavaScript
프로그래머에게 필요한 과정 중 하나입니다. JavaScript
为我们准备好了一个内建的对象Date(日期)。通过该对象,我们可以创建、存储、修改、测量时间、打印等基础操作,是每个JavaScript
程序员的必修课之一。
Date对象的创建
和普通的对象一样,我们可以使用new Date()
来创建一个Date
对象,还可以在创建的时候传入一些初始化参数。
new Date()
不带参数的创建案例:
let now = new Date()console.log(now)
代码执行结果如下:
这样就简单的输出了代码执行时的具体时间,这里显示的就是2022年6月22日 19点25份24秒
。
new Date(milliseconds)
创建一个带有毫秒参数的日期对象,其中milliseconds
指的是自1970年1月1日UTC+0之后的毫秒数(1毫秒=1/1000秒)。
//创建一个时间,举例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)
代码执行结果:
milliseconds
就是从1970年1月1日 00:00:00以来,经过的毫秒数,或者称之为时间戳。
时间戳是一种简单的日期数字化表示方式,我们通常使用new Date(milliseconds)
创建一个日期。如果我们已经有了一个日期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)
如果每次创建时间都是用时间戳,可能并不方便,因为时间戳计算还是有点难度的。
我们还可以使用时间字符串创建一个时间,举个例子:
let date = new Date('2022-06-22 00:00:00')console.log(date)
代码执行结果:
new Date(year, month, date, hours, minutes, sec, ms)
-
year
——必须是四位的数字; -
month
——[0,11]
,0
表示一月; - date——当月的某一天,默认为
1
; -
hours/minutes/sec/ms
——默认为0;
举个栗子:
let date = new Date(2022,6,22,20,35,33)console.log(date)
代码执行结果:
我们还可以指定毫秒数:
let date = new Date(2022,6,22,20,35,33,777)console.log(date)
Date对象的方法
如果我们有一个Date
对象,我们可以通过Date
对象的内置方法,获取时间的一部分,例如年份、月份、日期等。
获取日期内容
例如我们有日期date
:
let date = new Date(2022,5,22,20,35,33)
-
getFullYear()
获取年份,date.getFullYear()
返回2022
; -
getMonth()
获取月份,date.getMonth()
返回5
,也就是6
月; -
getDate()
获取当月的日期,date.getDate()
返回22
; -
getDay()
获取当前时间在一周的哪一天,date.getDay()
返回3
Date 객체 생성
일반 객체와 마찬가지로
new Date()
를 사용하여 Date
객체를 생성할 수 있고, When도 생성할 수 있습니다. 일부 초기화 매개변수를 전달합니다. new Date()
매개변수가 없는 생성 사례:let date = new Date(2022,5,22,20,35,33)console.log(date.getHours(),date.getUTCHours())코드 실행 결과는 다음과 같습니다. 🎜🎜🎜🎜단순히 코드가 실행되는 특정 시간을 출력하는 것입니다. 여기에 표시된 것은
입니다. 2022년 6월 22일 19시 25분 24초
. 🎜new Date(milliseconds)
🎜 밀리초 매개변수가 있는 날짜 객체를 생성합니다. 여기서밀리초
는 1970년 1월 1일 이후의 날짜를 나타냅니다. UTC+0 이후의 밀리초(1밀리초 = 1/1000초) 🎜let date = new Date(2022,5,38)//注意这里的38console.log(date)🎜코드 실행 결과: 🎜🎜🎜 🎜
밀리초
는 1970년 1월 1일 00:00:00 이후 경과된 밀리초 수 또는 타임스탬프라고 합니다. 🎜🎜타임스탬프는 날짜를 간단히 디지털로 표현한 것입니다. 우리는 일반적으로 날짜를 생성할 때new Date(milliseconds)
를 사용합니다. 날짜Date
객체가 이미 있는 경우date.getTime()
을 사용하여 날짜에 해당하는 타임스탬프를 가져올 수 있습니다. 🎜🎜🎜참고: 🎜🎜중국은 Zone 8에 있으므로 위 예의 시간은 00:00:00이 아니라 08:00:00🎜
1970년 이전 시간인가요?
🎜타임 스탬프는 정수일 뿐만 아니라 음수이기도 합니다. 예: 🎜let date = new Date(2022,5,23)//当前时间是2022-6-23date.setDate(date.getDate() + 8)//计算八天后的时间console.log(date)🎜코드 실행 결과: 🎜🎜

new Date(date_str)
🎜 생성 시간마다 타임스탬프를 사용하면 불편할 수 있습니다. 왜냐하면 우표 계산이 아직 좀 어렵거든요. 🎜🎜시간 문자열을 사용하여 시간을 생성할 수도 있습니다. 예: 🎜let date = new Date()console.log(+date)🎜코드 실행 결과: 🎜🎜

새 날짜(년, 월, 일, 시, 분, 초, ms)
-
연도
——4자리 숫자여야 합니다. 🎜 -
월
——[0,11]
,0
은 🎜 - 날짜 - 날짜, 기본값은
1
입니다. 🎜 -
시간/분/초/ms
- 기본값은 0입니다. 🎜
let date1 = new Date(2022,5,23)let date2 = new Date(2022,5,24)console.log(`时间差为${date2-date1}ms`)🎜코드 실행 결과: 🎜🎜

let begin = Date.now()for(let i = 1;i<h2 id="strong-Date-객체의-방법-strong"><strong>Date 객체의 방법</strong></h2>🎜 <code>DateObject, <code>Date</code> 객체에 내장된 메소드를 통해 연도, 월, 날짜 등과 같은 시간의 일부를 가져올 수 있습니다. 🎜<h3 id="strong-날짜-콘텐츠-가져오기-strong"><strong>날짜 콘텐츠 가져오기</strong></h3>🎜예를 들어 날짜 <code>date</code>가 있습니다: 🎜<pre class="brush:php;toolbar:false">let ms = Date.parse('2022-06-23T19:38:30.777+08:00')//时间戳let date = new Date(ms)console.log(date)
-
getFullYear() code> 연도를 가져옵니다. <code>date.getFullYear()
는2022
를 반환합니다. 🎜 -
getMonth()
월,날짜를 가져옵니다. .getMonth()
6
월인5
를 반환합니다. 🎜 -
getDate()
현재 날짜를 가져옵니다. 월,date.getDate()
는22
를 반환합니다.🎜 -
getDay()
현재 시간이 있는 요일을 가져옵니다.date.getDay() code>는 <code>3
을 반환합니다. 🎜🎜🎜🎜참고: 🎜- 以上日期都是已于当地日期的,比如我这里是中国的时区
- 获取年份一定要用
getFullYear
,getYear
会返回两位数的年份
我们也可以获得
0
时区的时间,也就是UTC
时间,分别对应getUTCFullYear()
、getUTCMonth()
,getUTCDay
等。只需要在get
后插入UTC
即可。举个例子:
let date = new Date(2022,5,22,20,35,33)console.log(date.getHours(),date.getUTCHours())
代码执行结果:
夜里也可以看出,中国时区和
0
时区相差8
小时。-
getTime()
返回日期的时间戳,方法没有UTC
模式; -
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
变体。日期的自动校准
JavaScript
的Date
具备自动校准功能,这为我们针对时间的计算提供了极大的方便。例如:
let date = new Date(2022,5,38)//注意这里的38console.log(date)
代码的执行结果:
从执行结果我们可以看出"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)
代码执行结果:
同样的,我们也可以使用
date.setSeconds()
方法已秒为单位计算日期。日期转为数字、日期差值
日期
Date
转为数字的结果和使用date.getTime()
的返回值相同,都是毫秒为单位的数值:let date = new Date()console.log(+date)
代码执行结果:
既然时间的本质就是数字,我们也可以进行时间差计算,并且以
ms
(毫秒)为单位。例如:
let date1 = new Date(2022,5,23)let date2 = new Date(2022,5,24)console.log(`时间差为${date2-date1}ms`)
代码执行结果为:
Date.now()
如果我们希望获得当前时间,更优的做法是使用
Date.now()
方法。这个方法会返回当前时间的时间戳,同时不需要创建额外的Date
对象,这对内存开销、垃圾回收都是有好处的,而且代码更简洁。举个栗子:
let begin = Date.now()for(let i = 1;i<p>代码执行结果:</p><p><img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/article/000/000/067/2e91502ffdbd23d1af26c248feabbead-11.png?x-oss-process=image/resize,p_40" class="lazy" alt="JavaScript 날짜 객체 날짜(요약 공유)"></p><h3 id="Date-parse">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-DD
、YYYY-MM
、YYYY
。举个小李子:
let ms = Date.parse('2022-06-23T19:38:30.777+08:00')//时间戳let date = new Date(ms)console.log(date)
代码执行结果:
Summary
-
JavaScript
는Date
개체를 사용하여 시간을 처리합니다.new Date()
JavaScript
使用Date
对象处理时间:new Date()
; - 月份从0开始计算
-
Date
具有很多实用的方法,我们可以获取时间中的某一段; -
Date
对象会自动校准,我们可以直接对日期进行加减法; Date.now()
월은 0
부터 시작합니다. code> 날짜
에는 다양한 실용적인 방법이 있으며, 특정 기간을 얻을 수 있습니다.날짜
개체는 자동으로 보정되며 날짜를 직접 더하고 뺄 수 있습니다. > Date.now() 는 현재 시간을 효율적으로 얻을 수 있습니다. [관련 권장 사항: 🎜javascript 비디오 튜토리얼🎜, 🎜웹 프론트 엔드🎜]🎜
위 내용은 JavaScript 날짜 객체 날짜(요약 공유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
