常见的日期构造函数(Date)的及其方法的使用

 

一、new Date() 定义一个Date对象, 得到的是本地时间

// 构造函数如下,当Date作为构造函数调用并传入多个参数时,所定义参数代表的是当地时间。
new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);


value:代表自1970年1月1日00:00:00 (世界标准时间) 起经过的毫秒数(时间戳)。

dateString:表示日期的字符串值。该字符串应该能被 Date.parse() 
方法识别(符合 IETF-compliant RFC 2822 timestamps 或 version of ISO8601)。

year:代表年份的整数值。为了避免2000年问题最好指定4位数的年份; 使用 1998, 而不要用 98.
month:代表月份的整数值从0(1月)到11(12月)。
day:代表一个月中的第几天的整数值,从1开始。
hour:代表一天中的小时数的整数值 (24小时制)。
minute:分钟数。
second:秒数。
millisecond:表示时间的毫秒部分的整数值。



var today = new Date()  
 // Mon Dec 17 2018 11:16:25 GMT+0800 (CST)

var today = new Date(1453094034000);
 // Mon Jan 18 2016 13:13:54 GMT+0800 (CST)

var birthday = new Date('December 17, 1995 03:24:00')
// Sun Dec 17 1995 03:24:00 GMT+0800 (CST)

var birthday = new Date('2018-08-06T23:21:17Z')

//Tue Aug 07 2018 07:21:17 GMT+0800 (China Standard Time)
// 这个是有格林威治时间转为本地时间, 不用手动减去时差

var birthday = new Date('1995-12-17T03:24:00')
// Sun Dec 17 1995 03:24:00 GMT+0800 (CST)

var birthday = new Date(1995, 11, 17)
// Sun Dec 17 1995 00:00:00 GMT+0800 (CST)

var birthday = new Date(1995, 11, 17, 3, 24, 0)
// Sun Dec 17 1995 03:24:00 GMT+0800 (CST)

 

 注意:

只能通过调用 Date 构造函数来实例化日期对象, 以常规函数调用它(即不加 new 操作符)将会返回一个字符串,而不是一个日期对象

//字符串 
Date()
"Mon Dec 17 2018 11:08:42 GMT+0800 (CST)"


// 时间对象
new Date()
Mon Dec 17 2018 11:08:48 GMT+0800 (CST)

 

Date 对象的静态方法: 

一、Date.parse()

语法: Date.parse(dateString)

返回值:

 

示例:

  

  1. 如果字符串符合ISO 8601的日期格式 和 RFC2822格式的字符串,返回自1970-01-01 00:00:00 UTC时间起的毫秒数。
  2. 如果字符串不符合格式,返回NaN。

 实际上,new Date() 的到的日期对象也可以获取到毫秒数 

注意事项: 此方毫秒级别的 数据会被转为000

 

 二、Date.UTC( ) 

语法:  Date.UTC(year, month, date, hour, minute, second, millisecond)

返回值: 从1970-1-1 00:00:00 UTC到指定日期的的毫秒数。

示例:

  

参数详情(数据类型都为整数):

 year: 1900 年后的某一年份, 如果年份被指定为 0 到 99 之间,年份为1990 + year

 month: 0 ~ 11,表示月份

 date: 1 ~ 31 ,表示某月当中的第几天

 hour: 0 ~ 23 ,表示小时

 minute: 0 ~ 59,表示分钟

 second: 0 ~ 59 ,表示秒

 millisecond : 0 ~ 999 ,表示毫秒

 

三丶Date.now()

语法: Date.now()

返回值: 返回自1970年1月1日 00:00:00 UTC到当前时间的毫秒数

示例:

 

这上面的三种方法返回来的数据都叫做时间戳,都是1970年1月1日 00:00:00 UTC(对应的中国的时间是1970年1月1日 08:00:00 )到某一时间的毫秒数

js 获取时间戳的方法:


var date = new Date() 
    // Tue Dec 18 2018 18:17:36 GMT+0800 (CST) 

var timestamp1 = Date.parse(date) //不推荐这种办法,毫秒级别的数值被转化为000
    // 1545128256000

var timestamp2 = date.valueOf() 
    //1545128256847

var timestamp3 = date.getTime() 
    // 1545128256847

 

你可能感兴趣的:(js)