zoukankan      html  css  js  c++  java
  • getTime()和parse()的区别

     getTime()和parse()的区别

    parse() parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。
    getTime() getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。

    getTIme()方法是把一个date对象转成毫秒

    parse方法是把一个时间格式的字符串转换成毫秒

      parse():解析一个包含日期的字符串,并返回该日期与1970年1月1日午夜之间所间隔的毫秒数。

      Date.parse(dateVal)

      其中必选项 dateVal 是一个包含以诸如 "Jan 5, 1996 08:47:00" 的格式表示的日期的字符串,或者是一个从 ActiveX(R) 对象或其他对象中获取的 VT_DATE值。

      说明:

      parse方法返回一个整数值!!这个整数表示 dateVal 中所包含的日期与 1970 年 1 月 1 日午夜之间相间隔的毫秒数。

      parse方法是 Date 对象的一个静态方法。正因为它是一个静态方法,它是通过方法被调用的,而不是作为一个已创建 Date 对象的一个方法被调用。

     date.getTime()所返回的是一个long型的毫秒数,如果要显示日期,需要进行格式化,比如使用 SimpleDateFormat

    如果使用getTime()想得到时间格式为2008-05-14这种时间格式(获取特定格式的时间)需要格式化的。
    例子:

    Date date = new Date();
    System.out.println(date.getTime());
    输出结果是1210745780625
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    sdf.format(new Date());
    得到的日期格式为:2008-05-14

     注:

    getTime()和Date.parse()方法都是返回某个时间到1970年1月1日0:00的毫秒数,但这次遇到了问题。 
    当使用Date.parser()的时候,返回的却是这个时间点到1970年1月1日08:00的毫秒数。下面是代码:

    function startTime() {
        let date = new Date,
            year = date.getFullYear(),
            month = date.getMonth() + 1,
            day = date.getDate();
        return Date.parse(year + '-' + month + '-' + day) ;
    }

    原来当年月日中间用’-‘的符号的时候,它的解析是用UTC 时区处理,而不是用本地时区处理的,因此和格林尼治恰好差8小时,就成了这个时间点到1970年1月1日08:00的毫秒数。 
    解决的方法是中间用其他符号,如‘/’。 
    然后getTime()也会有一样的问题。

  • 相关阅读:
    ASP.NET---创建自定义Web控件小结
    ASP.NET---使用Asp.NET开发三层架构的应用程序
    poj 1847 最短路简单题,dijkstra
    HDU 1102 最小生成树裸题,kruskal,prim
    poj 2239 二分图最大匹配,基础题(待补)
    HDU 1520 树形dp裸题
    HDU 2089 简单数位dp
    poj 3254 状压dp入门题
    HDU 1710 二叉树遍历,输入前、中序求后序
    Poj 3250 单调栈
  • 原文地址:https://www.cnblogs.com/originate918/p/6377563.html
Copyright © 2011-2022 走看看