注册 登录

清河洛

javascript中的时间与日期Date类型

qingheluo2016-12-16清河洛320
Date类型使用UTC (Coordinated Universal Time,国际协调时间[又称世界统一时间]) 1970年1月1日午夜(零时)开始经过的毫秒来保存日期。在使用这种数据存储格式的条件下,Date类型保存的日期能够精确到1970年1月1日之前或之后的285616年。在创建Date对象前,先学习一下三个Date类型的返回毫秒时间戳的方法Date.now():返回以本地时间为标准的当前时间毫秒数时间戳Date.parse(str):解析并返回字符串表示的以本地时间为标准的时间的毫秒时间戳由于没有规定这个字符串的格式,所以这个方法的行为会由于运行环境的差异导致不一致 测试几个E...

Date类型使用UTC (Coordinated Universal Time,国际协调时间[又称世界统一时间]) 1970年1月1日午夜(零时)开始经过的毫秒来保存日期。在使用这种数据存储格式的条件下,Date类型保存的日期能够精确到1970年1月1日之前或之后的285616年。

在创建Date对象前,先学习一下三个Date类型的返回毫秒时间戳的方法

Date.now():返回以本地时间为标准的当前时间毫秒数时间戳

Date.parse(str):解析并返回字符串表示的以本地时间为标准的时间的毫秒时间戳

由于没有规定这个字符串的格式,所以这个方法的行为会由于运行环境的差异导致不一致
测试几个Edge可以识别的字符串格式
    '2022-01-15 15:23:56.234'
    '2022/01/15 15:23:56.234'
    '01/15/2022 15:23:56.234'
    'Jan 15,2022 15:23:56.234'
由于实现方式不一致,开发环境中不建议使用该方法获得时间戳
没有传入字符串或字符串不能被解析会返回NaN

Date.UTC(year,mon,day=1,hour=0,min=0,sec=0,ms=0)

返回以UTC时间为标准的根据传入的年,月(从0开始,0表示1月),日,时,分,秒,毫秒来毫秒时间戳
如果参数错误,会出现负值或者NaN等非法信息

创建Date对象:new Date(secs)

secs表示一个毫秒级时间戳,解析并返回该时间戳代表的日期和时间的Date对象

1、当不传参数时默认传入Date.now(),即当前时间的毫秒时间戳
2、当传入字符串时,会调用Date.parse()解析并将解析后的时间戳传入
3、当传入多个参数时,参数和定义和Date.UTC()一样但是会按照会以本地时间为标准解析
不使用new 操作符时会返回一个代表当前日期和时间的字符串

二.Date的原型对象中的方法

getTime():返回毫秒级时间戳
setTime(secs):重新设置时间戳

以本地时间为标准返回指定值

getFullYear():完整年份(4位)
getMonth():月份(0–11),0表示一月
getDate():一个月中的第几天(1-31)
getDay():一周中的第几天(0-6),0表示星期天
getHours():小时(0–23)
getMinutes():分钟数(0–59)
getSeconds():秒数(0–59)
getMilliseconds():毫秒(0–999)

以UTC时间为标准返回指定值

getTimezoneOffset():返回UTC时间相对于本地时间的差值,单位为分钟

getUTCFullYear()、getUTCMonth()、getUTCDate()、getUTCDay()、
getUTCHours()、getUTCMinutes()、getUTCSeconds()、getUTCMilliseconds()

以本地时间为标准修改Date对象中的值

setFullYear()、setMonth()、setDate()、
setHours()、setMinutes()、setSeconds()、setMilliseconds()

同样以UTC时间为标准修改就是在以上函数中添加TUC

获取表示时间的字符串

toDateString():以美式英语和人类易读的表述形式返回
toISOString():以ISO格式表述的字符串返回
toLocaleString():根据语言环境返回日期和时间的字符串
toLocaleDateString():根据语言环境返回日期字符串
toLocaleTimeString():根据语言环境返回时间字符串
toString():根据语言环境返回日期和时间的字符串
valueOf():返回毫秒时间戳字符串


网址导航