JavaScript Date

时间对象

Date 是 JavaScript 的时间对象,关于时间的工作,都是由这个对象负责。

new Date() instanceof Date // true

// 默认返回当前时间的时间对象
new Date()

// 自定义时间
new Date('2017-5-23 00:00:00') // 通过 “标准时间格式” 指定
new Date(1502587638950) // 通过 “时间戳” 指定

格式化

把时间对象转换成日期格式。

new Date().getFullYear() // 2018 | 年
new Date().getMonth() // 9 | 月 (0 ~ 11 代表 1 - 12 月份)
new Date().getDate() // 21 | 日
new Date().getDay() // 5 | 星期几
new Date().getHours() // 14 | 时
new Date().getMinutes() // 20 | 分
new Date().getSeconds()  // 14 | 秒
new Date().getMilliseconds() // 930 | 毫秒
new Date().getTime() // 1537510914079 | 时间戳

时间运算

编程中的时间运算,通常都是通过时间戳来加减,之后在把时间戳转换成 标准时间格式

// 得到一个7天后的时间对象 

new Date(new Date().getTime() + (7 * 24 * 60 * 60 * 1000)) // + 7天

标准时间格式

时间的显示形式,有一个约定俗成的标准 2018-9-21 14:32:18,日常我们所见的,都是这种格式。格式的统一方便在不同语言中处理,大部分的现代高级语言,内置的时间处理工具,都能轻易的把时间对象格式成这种格式,但是 JavaScript 并没有这种能力,它转换出来的时间格式不标准。

new Date().toLocaleDateString() // 2018/9/21
new Date().toLocaleString() // "2018/9/21 下午2:38:22"

/*
 浏览器中的 JavaScript 和 服务端的 Node.js 转换出来的格式有略微的差别,但是两者都不标准
 如果想得到一个 “标准的时间格式”,可以通过第二段 “格式化” 的内容,年/月/日/时/分/秒,自己逐个的拼装
 moment 是一个 JavaScript 的第三方时间处理工具,它能方便的得到我们想要的 | moment().format('YYYY-MM-DD HH:mm:ss')
*/
JavaScript 教程 JavaScript 运行 JavaScript 迭代 JavaScript 异常错误