时间

1,135 阅读2分钟

ISO 8601

表示北京时间2004年5月3日下午5点30分8秒,可以写成

  • 2004-05-03T17:30:08+08:00
  • 或20040503T173008+08。

JavaScript Date 对象

shi一样

//创建 Date 对象
var d = new Date()
d  //Mon Mar 23 2020 17:17:34 GMT+0800 (中国标准时间)

Date.parse(d) //1584955054000
new Date(1584955054000) //参数是从 1970 年 1 月 1 日至今的毫秒数



//变成ISO 8601格式的时间
d.toISOString() //"2020-03-23T09:17:34.020Z"    


d.getFullYear() //2020

d.getDate() //23

d.getHours() //17

点击查看更多方法

moment.js

好用但是体积太大

day.js

和moment.js一样,而且比moment.js体积小。用起来吧!

安装

npm install dayjs --save

使用

  1. 导入import dayjs from 'datjs'
  2. 直接调用 dayjs() 将返回一个包含当前日期和时间的 Day.js 对象。
var now = dayjs()

//等同于 dayjs(new Date()) 的调用。
  1. 解析传入的 ISO 8601 格式的字符串并返回一个 Day.js 对象实例。
dayjs('2018-04-04T16:00:00.000Z')
  1. .format根据传入的占位符返回格式化后的日期。

将字符放在方括号中,即可原样返回而不被格式化替换 (例如, [MM])。

dayjs().format() 
// 默认返回的是 ISO8601 格式字符串 '2020-04-02T08:02:17-05:00'

dayjs('2019-01-25').format('[YYYYescape] YYYY-MM-DDTHH:mm:ssZ[Z]') 
// 'YYYYescape 2019-01-25T00:00:00-02:00Z'

dayjs('2019-01-05').format('YY年M月DD日') // '19年1月05日'

  1. .isSame这表示 Day.js 对象是否和另一个提供的日期时间相同。
dayjs().isSame(dayjs('2011-01-01')) // 默认毫秒

如果想使用除了毫秒以外的单位进行比较,则将单位作为第二个参数传入。

dayjs().isSame('2011-01-01', 'year')

各个传入的单位对大小写不敏感,支持缩写和复数。