JS Date.parse() 函数详解

Date.parse()函数用于分析一个包含日期的字符串,并返回该日期与 1970 年 1 月 1 日午夜之间相差的毫秒数。javascript

该函数属于Date对象,全部主流浏览器均支持该函数。php

语法

Date.parse()的语法以下:java

Date.parse( dateString )

参数

参数 描述
dateString String类型一个表示日期的字符串。

返回值

Date.parse()函数的返回值为Number类型,返回该字符串所表示的日期与 1970 年 1 月 1 日午夜之间相差的毫秒数。浏览器

下面这些规则控制着parse()方法所能成功分析的字符串:app

  1. 短日期可以使用/日期分隔符,可是必须符合月/日/年的格式,例如7/20/966/15/2008
  2. July 10 1995形式表示的长日期中的年、月、日能够按任何顺序排列,并且年份能够用2位数或4位数的形式表示。若是使用2位数的形式来表示年份,则该年份必须大于或等于 70。
  3. 括号中的任何文本都被视为注释。这些括号能够嵌套。
  4. 逗号和空格被视为分隔符。容许使用多个分隔符。
  5. 月和日的名称必须具备两个或两个以上的字符。若是两个字符所组成的名称不惟一,则该名称将解析为最晚的一个匹配日期。例如,Ju解析为七月(July),而不是六月(June)。Chrome不支持"Ju"这种写法。
  6. 若是提供一个日期,该日期中所说明的星期数与根据此日期中其余部分所肯定的星期数不相符,则此日期中的星期数将被忽略。例如,尽管 1996 年 11 月 9 日其实是星期五,但Tuesday November 9 1996仍是能够被接受并进行分析。可是结果的 Date 对象中包含的是Friday November 9 1996
  7. JavaScript处理全部的标准时区,以及协调通用时间 (UTC) 和格林威治标准时间 (GMT),例如:Thu, 07 Aug 2014 11:00:14 GMT。IE6 ~ IE8对UTC格式的支持程度很是低,IE9的支持也不全面。
  8. 用冒号分隔小时、分钟和秒,但全部这些内容并不是都须要指定。10:10:1110:11:12都是有效的。
  9. 若使用的时钟是 24 小时计时的,那么将中午 12 点以后的时间指定为PM是错误的。例如,23:15 PM就是错误的。
  10. 包含无效日期的字符串是错误的。例如,一个包含两个年份或两个月份的字符串是错误的

 

在作项目的时候,谷歌浏览器,IE浏览器都可以正常把日期parse掉,可是火狐就是特别点,查了资料才发现都支持这种格式月这“/日/年”,而不是“月-日-年”,火狐会返回NaN。函数

快捷的替换方式,那就是直接“startDate.replace(/-/g, "/")”,好比:ui

var dt = '8-15-2013 15:33:40';
dt = dt.replace(/-/g, "/");

  这个是firfox的一个坑。url

相关文章
相关标签/搜索