js-date日期与时间

犀牛书第七版
比如给你个 ‘2023-4-21 12:00: 00’ 是不完整的, 你不知道这个是什么时区的时间.

11.4 日期和时间

getMonth 是 从 0 开始的

new Date() 默认是当前时区的当前时间 可以传时间戳, 可以传时间字符串, 转成时间对象
1. new Date(0)  ? 1970  110时   北京则是八点 
2. new Date(2100,0,1,2,3,4,5)  210011日 本地时间 02:03:04.005
3.  new Date('2023') === new Date('2023-01-01 0:0:0')
UTC Universal Coordinated Time 通用协调时间 /GMT Greenwich Mean Time 格林尼治标准时间.
.UTC(2023,1,1) 返回毫秒值

.getFullYear() 是获取年份  getUTCFullYear()
Month/Date/Hours/Minutes/Seconds/Milliseconds  
.getDay() // 获取星期几 0 表示 星期天  没有setDay 因为星期几是只读的...
.setFullYear(1990,10,1) 支持月日; 注意这个是11月月;0 开始
.setHours(1,0,1,234) 返回值都是时间戳

时间戳 timestamp

1. Date.now() 获取当前的时间戳   
2. new Date('xxx').getTime()  setTime()
3. new Date('xxx').valueOf() 
4. Date.parse('xxx')  

perfomance.now() 高精度时间戳, 返回的是网页加载完成或者node进程启动后经过的时间
const { performance } = require('perf_hooks')  node  
高精度计时可能会让无底线的网站采集访客指纹, 因此浏览器可能会降低它的精度, 可能需要手动开启

日期计算

let d = new Date()
d.setMonth(d.getMonth() + 3, d.getDate() + 14) // 比较智能,多了的话会自动增加年份.
d.setMonth(12) // 注意从 0 开始, 所以12是明年的一月份...

new Date('2023-05-13') - new Date('2023-05-12')  86400000  本质是调用valueOf()方法

new Date(new Date().setDate(32)).toJSON()
'2023-06-01T05:43:05.056Z'
new Date().toJSON()
'2023-05-13T05:43:53.524Z'

格式化和解析日期字符串

当地时区=> 当时  当地惯例=> 当惯
toString() 当时 非 当惯  toDateString() toTimeString()
toUTCString() 非当时  非当惯
toLocaleString() 当时 当惯  toLocaleDateString() toLocaleTimeString()
toISOString() 标准的....
new Date().toJSON() 非当时 非当惯

在这里插入图片描述

获取时区/时间偏移量 getTimezoneOffset -480 秒 8 小时

在这里插入图片描述

yyy-MM-dd hh:mm:ss

toLocaleString !!!! 这种方法最好不用,因为值会变....浏览器不同也不一样
new Date().toLocaleString() // '2023/3/22 21:32:03' 北京时间/东八区会这样显示
'5/12/2023, 11:55:55 PM' // 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值