js标准对象——Date

在JavaScript中,Date对象用来表示日期和时间。

要获取系统当前的时间:

   var now = new Date();
    alert(now);
    now;//Mon Oct 23 2017 11:21:04 GMT+0800 (中国标准时间)
    now.getFullYear();//2017,年份
    now.getMonth();//9,月份,注意月份范围是0~11,9表示10月
    now.getDate();//23,表示23号
    now.getDay();//1,表示星期一
    now.getHours();//19,24小时制
    now.getMinutes();//49,分
    now.getSeconds();//22,秒
    now.getMilliseconds();//875,毫秒数
    now.getTime();//1435146562875,以number形式表示的时间戳

当前时间是浏览器从本机操作系统获取的时间,所以不一定准确,因为用户可把当前时间设定为任何值。

如果要创建一个指定日期和时间的Date对象,可以用:

  var d = new Data(2015,5,19,20,15,30,123);
    d;//Fri Jun 19 2015 20:15:30 GMT+0800 (CST)

但是它返回的不是Date对象,而是一个时间戳,不过有时间戳就可以和容易把它转换成一个Date:

var d = new Date(1435146562875);
d; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)

时区

Date对象表示的时间总是按浏览器所在的时区显示的,不过我们既可以显示本地时间,也可以显示调整后的UTC时间

var d = new Date(1435146562875);
d.toLocaleString(); // '2015/6/24 下午7:49:22',本地时间(北京时区+8:00),显示的字符串与操作系统设定的格式有关
d.toUTCString(); // 'Wed, 24 Jun 2015 11:49:22 GMT',UTC时间,与本地时间相差8小时

在JavaScript中如何进行时区转换?实际上,只要我们传递的是一个number类型的时间戳,我们就不用关心时区转换。任何浏览器都可以把一个时间戳正确转换为本地时间。

时间戳是一个自增的整数,它表示从1970年1月1日零时整的GMT时区开始的那一刻,到现在的毫秒数。所以时间戳与时区无关,可以精确的表示一个时刻。所以我们只需要传递时间戳,或者把时间戳从数据库里读出来,再让JavaScript自动转换为当地时间。

要获取时间戳,用:

    if(Date.now) {
            alert(Date.now());//老版本IE没有now()方法
        } else {
            alert(new Date().getTime());
        }
原文地址:https://www.cnblogs.com/yuanxinru321/p/7716450.html