• JS Date对象


    笔记整理自:廖雪峰老师的JS教程

    简介

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

    创建方式

    1. 通过获取系统当前时间创建

    var now = new Date();
    

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

    2. 通过指定日期和时间创建

    1. 指定 年 月 日 [小时 [分[ 秒 [ 毫秒 ]]]] 创建

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

    注意: JavaScript的Date对象月份值从0开始,牢记0=1月,1=2月,2=3月,……,11=12月。 此处与Java的Date对象一致

    2.指定解析一个符合ISO 8601格式的字符串

    var d = Date.parse('2015-06-24T19:49:22.875+08:00');
    d; // 1435146562875
    //但它返回的不是Date对象,而是一个时间戳。不过有时间戳就可以很容易地把它转换为一个Date:
    var date = new Date(d);
    date; // Wed Jun 24 2015 19:49:22 GMT+0800 (CST)
    date.getMonth(); // 5
    

    注意: 使用Date.parse()时传入的字符串使用实际月份01~12,转换为Date对象后getMonth()获取的月份值为0~11

    3.通过指定时间戳创建

    方式2已给出。

    时区

    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自动转换为当地时间就可以了。

    要获取当前时间戳,可以用:

    'use strict';
    if (Date.now) {
        console.log(Date.now()); // 老版本IE没有now()方法
    } else {
        console.log(new Date().getTime());
    }
    
    
  • 相关阅读:
    Spring+Springmvc+SpringJDBC+freemaker+Logback配置
    POJ1942+找规律
    HDU2955+DP+背包变形
    HDU1201+简单题
    HDU1288+枚举
    面试经验(转)
    HDU1864+dp+类似背包
    PKU1659+havelhakimi定理
    算法复杂度分析(摘)
    HDU3047+并查集
  • 原文地址:https://www.cnblogs.com/tfxz/p/12902908.html
Copyright © 2020-2023  润新知