JavaScriptDate.parse()详解
Date.parse() 函数⽤于分析⼀个包含⽇期的字符串,并返回该⽇期与 1970 年 1 ⽉ 1 ⽇午夜之间相差的毫秒数。
语法
Date.parse( dateString )
参数
参数描述
dateString String类型 ⼀个表⽰⽇期的字符串。
返回值
Date.parse() 函数的返回值为Number类型,返回该字符串所表⽰的⽇期与 1970 年 1 ⽉ 1 ⽇午夜之间相差的毫秒数。
javascript说明
下⾯这些规则控制着parse()⽅法所能成功分析的字符串:
短⽇期可使⽤/⽇期分隔符,但是必须符合⽉/⽇/年的格式,例如7/20/96或6/15/2008。
以July 10 1995形式表⽰的长⽇期中的年、⽉、⽇可以按任何顺序排列,⽽且年份可以⽤2位数或4位数的形式表⽰。如果使⽤2位数的形式来表⽰年份,则该年份必须⼤于或等于 70。
括号中的任何⽂本都被视为注释。这些括号可以嵌套。
逗号和空格被视为分隔符。允许使⽤多个分隔符。
⽉和⽇的名称必须具有两个或两个以上的字符。如果两个字符所组成的名称不唯⼀,则该名称将解析为最晚的⼀个匹配⽇期。例如,Ju 解析为七⽉(July),⽽不是六⽉(June)。Chrome不⽀持"Ju"这种写法。
如果提供⼀个⽇期,该⽇期中所说明的星期数与根据此⽇期中其他部分所确定的星期数不相符,则此⽇期中的星期数将被忽略。例如,尽管 1996 年 11 ⽉ 9 ⽇实际上是星期五,但Tuesday November 9 1996还是可以被接受并进⾏分析。但是结果的 Date 对象中包含的是Friday November 9 1996。
JavaScript处理所有的标准时区,以及协调通⽤时间 (UTC) 和格林威治标准时间 (GMT),例如:Thu, 07 Aug 2014 11:00:14 GMT。IE6 ~ IE8对UTC格式的⽀持程度⾮常低,IE9的⽀持也不全⾯。
⽤冒号分隔⼩时、分钟和秒,但所有这些内容并⾮都需要指定。10:、10:11和10:11:12都是有效的。
若使⽤的时钟是 24 ⼩时计时的,那么将中午 12 点之后的时间指定为PM是错误的。例如,23:15 PM就是错误的。
包含⽆效⽇期的字符串是错误的。例如,⼀个包含两个年份或两个⽉份的字符串是错误的。
注意:许多浏览器还为⼀些未在此处列出的其他格式提供了⽀持,但是由于跨浏览器兼容程度较低,因此此处不予列出。请尽量采⽤兼容格式的⽇期字符串。
⽰例&说明
// 下⾯以"上午12:00:00"结尾的⽇期,是在FireFox和Chrome中的显⽰结果
// 在IE浏览器中,均显⽰为"00:00:00"
//短⽇期格式最好是"⽉/⽇/年"格式
var time = Date.parse("7/8/2013");
var date = new Date( time );
document.writeln( LocaleString() ); // 2013年7⽉8⽇上午12:00:00
// May、18、1998的位置可以随意调换
time = Date.parse("May 18 1998");
var date = new Date( time );
document.writeln( LocaleString() ); // 1998年5⽉18⽇上午12:00:00 // Ju被看作July(7⽉) Chrome不⽀持
time = Date.parse("18 Ju 1998");
var date = new Date( time );
document.writeln( LocaleString() ); // 1998年7⽉18⽇上午12:00:00 // 年份必须⼤于等于70
time = Date.parse("18 June 70");
var date = new Date( time );
document.writeln( LocaleString() ); // 1970年6⽉18⽇上午12:00:00 // GMT格式
time = Date.parse("Thu, 07 Aug 2014 11:00:14 GMT");
var date = new Date( time );
document.writeln( LocaleString() ); // 2014年8⽉7⽇下午7:00:14 // UTC格式(之⼀) IE6 ~ IE8不⽀持
time = Date.parse("1997-07-16T19:20:30");
var date = new Date( time );
document.writeln( LocaleString() ); // 1997年7⽉17⽇上午3:20:30 // 带AM/PM(⼩时数不能⼤于12)
time = Date.parse("November 9 1996 3:15 PM");
var date = new Date( time );
document.writeln( LocaleString() ); // 1996年11⽉9⽇下午3:15:00