zoukankan      html  css  js  c++  java
  • date

    一、时间简介

    Date类型使用UTC类型,开始于1970年1月1日零点,并以毫秒为最小单位进行保存。

    生成时间当前的方法: 

    var date=new Date();
    console.log(date,typeof date)//Sat Jun 08 2019 19:17:41 GMT+0800 (GMT+08:00) {},object

    生成的时间类型是一个对象,只不过这个对象是date类型的,但是目前好像还没有方法可以检验出来他是一个date类型的对象。

    -

    生成特定时间的方法是往里面传送一个字符串:

    var date=new Date("1993-12-16");
    console.log(date,typeof date)//Thu Dec 16 1993 08:00:00 GMT+0800 (GMT+08:00) {},object

     虽然这种方法课本上并没有提到过,但是的确是可以生成的。但是注意,不同的浏览器生成的值是不一样的,而且ios系统采用8061时间方法制,传入的字符串如果精确到毫秒,如果不按照ios的方式来,是没有办法生成时间的。

    二、生成时间的方法

    生成时间的方式严谨来讲有两种,分别是Date.parse()和Date.UTC()。

    Date.parse():

    该方法接受一个字符串,就像上面提到的一样。但是ES没有规定该方法应该支持哪种类型,因此生成的时间格式因各个浏览器而异。

    var date=new Date(Date.parse("1993-12-16 17:00:04"));
    console.log(date)//Thu Dec 16 1993 17:00:04 GMT+0800 (GMT+08:00) {}

    -

    Date.UTC():

    这个方法很有趣,他接受的参数分别是年分、基于0的月份(0-11)、基于0的天数(0-30)、基于0的小时数(0-23)、分钟、秒、毫秒数。这些参数中,只有年分和月份是必填的,如果省略其它项,则统统假设为开始的那一瞬间。

    PS:1秒=1000毫秒

    var date=new Date(Date.UTC(1993,12,16,17,0,23,16));
    console.log(date)//Mon Jan 17 1994 01:00:23 GMT+0800 (GMT+08:00) {}

    上面这段代码并没有生成我想要的日期,是因为月份是基于0开始的。所以,输入“12”月份会加一,天数输入“16”会加一。这个生出来的时间也是莫名其妙,不知道怎么来的。

    -

    var date=new Date(Date.UTC(1993,2,31,17,0,23,16));
    console.log(date)//Thu Apr 01 1993 01:00:23 GMT+0800 (GMT+08:00) {}

    而这段代码,由于2月没有31天,所以生成的时间也不对,而且月份相当于多加了两个月。如果月份输入的是“30”,得到的结果会是3月30号。所以用这个方法生成时间,一定要慎重。

    三、日期格式

    有两种常见方法,对生成时间的格式进行调整。toDateString()和toTimeString().

    var date=new Date(Date.UTC(1993,11,15,17,0,23));
    var date1=date.toDateString("YYYY-MM-DD");
    console.log(date1)//Thu Dec 16 1993
    var time=date.toTimeString();
    console.log(time)//01:00:23 GMT+0800 (GMT+08:00)

    这种格式转换的方法并没有没有得到我想要的格式,而且这个日期的时间我还能接受,只是这个time的值,我实在想不明白他是怎么得到的。

    四、获取时间值的方法

    常见的取得时间特定部分方法,有以下几种:

    getTime():获取时间戳

    var date=new Date("1993-12-16 17:00:04:621");
    console.log(date.getTime())//756032404621

    getFullYear():获取4位数的年分

    var date=new Date("1993-12-16 17:00:04:621");
    console.log(date.getFullYear())//1993

    getMonth():获取该日期的月份,返回的值为0-11

    var date=new Date("1993-12-16 17:00:04:621");
    console.log(date.getMonth())//11

    常用的方法还有:

    getDate():获取该日期月份中的天数

    getDay():获取该日期中的星期几,0表示星期天,6表示星期六

     
  • 相关阅读:
    高质量c/c++编程(10)
    .net 访问excel问题
    高质量c/c++编程(9)
    C#排序算法 之 冒泡排序
    C#排序算法 之 希尔排序
    高质量c/c++编程附录
    C#排序算法 之 插入排序
    读《漂亮女上司》有感
    高质量c/c++编程(6)
    高质量c/c++编程(5)
  • 原文地址:https://www.cnblogs.com/qingshanyici/p/10947949.html
Copyright © 2011-2022 走看看