JS 时间处理new Date()

这两天有个需求就是,处理日期,时间

new Date()

  • 在浏览器控制台中,直接输入new Date() 会返回当前时区的当前时间。在中国是东八区,以GMT时间为基准,相差八个小时。
new Date()   
// Sat Jun 17 2017 14:23:59 GMT+0800 (CST)
  • 如果给new Date()传入指定的参数,比如传入一个UTC时间,返回来的也是当前时区的当前时间,或者传一个当前的时间。2017-02-22
new Date('2017-02-22T13:00:56.000Z')
// Wed Feb 22 2017 21:00:56 GMT+0800 (CST)
new Date('2017-02-22') // 如果把T后面的部分去掉也没有时间,默认时间是UTC时间的零点,转换到我们时区的时间就是八点
// Wed Feb 22 2017 08:00:00 GMT+0800 (CST)
new Date().getTime()   // 打印出来的是当前时间相距1970年1月1日的时间戳,单位是毫秒,计算的时候别忘了换算单位
// 1498558976824   

格式化日期

  • 当然我们不能用new Date()直接返回来的时间格式,一般我们用的时间都是经过格式化的,处理成我们想要的时间格式。下面就以 2017年3月2日的这个格式举个栗子。
let date = new Date() // 这样直接获取的是当前时间,如果传参就是想要修改的日期格式的参数
let month = date.getMonth() + 1
let year = date.getFullYear()
let day = date.getDate()
let hours = date.getHours()
let mints = date.getMinutes()
let seconds = date. getSeconds()
let millise = date. getMilliseconds()
return year + '年' + month + '月' + day + '日 ' + hours + ':' + mints + ':' + seconds + '.' + millise

JS按照指定日期加、减,多少天、多少月、多少年的日期, 根据加、减number传入相应的正负

CaculateDate (dateType, number, date) { // date 是用new Date()包裹的对象
     switch (dateType) {
          case 'y':
            date.setFullYear(date.getFullYear() + number)
            return date
          case 'm':
            date.setMonth(date.getMonth() + number)
            return date
          case 'd':
            date.setDate(date.getDate() + number)
            return date
          default:
            break
      }
}

你可能感兴趣的:(JS 时间处理new Date())