new Date支持的参数:

MDN:

  new Date();

  new Date(value);

  new Date(dateString);

  new Date(year, month, day, hour, minute, second, millisecond);

MSDN:

dateObj = new Date()

dateObj = new Date(dateVal)

dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]]) 

不过在MSDN中把dateVal看成了MDN中参数为value和dateString的合集。实际上是一样的。

对于无参数和多参数的使用方法除了month参数是从0开始计算之外没有什么特殊用法。

如果参数为数字时代表从1970年1月1日算起的毫秒数:Integer value representing the number of milliseconds since 1 January 1970 00:00:00 UTC (Unix Epoch)。最麻烦,但是使用起来也是最方便的字符串参数,在MDN中:

The string should be in a format recognized by theDate.parse() method (IETF-compliant RFC 2822 timestamps and also a version of ISO8601).

在MSDN中:

dateVal is parsed according to the rules in Date and Time Strings (JavaScript). The dateVal argument can also be a VT_DATE value as returned from some ActiveX objects.

一句话来说,就是对于通过JS Date对象以及相关方法(UTC、ISO、GMT等)生成的各种字符串都可以解析。除此之外,常用的使用方法如下:

/*需要注意:月份此时从1开始计算*/
new Date("2014-04-11"); // Fri Apr 11 2014 08:00:00 GMT+0800 (中国标准时间)

注:该方式不推荐,因为在windows下的safari 5及以下版本不能正确解析,会返回NaN。而在Mac下的Safari则没有此问题。不过如果忽略安装Safari的windows用户,这个方法也不错。

 

一般我们可能使用new Date(YYYY,MM,DD)或者set方法来创建对象,不过通过set方法在某些特殊日期下会出错:

/*bad!*/

var date = new Date(2014,2,30); // Fri Mar 30 2014 00:00:00 GMT+0800 (中国标准时间)
date.setMonth(1); // Fri Mar 2 2014 00:00:00 GMT+0800 (中国标准时间)
date.setDate(28); // Fri Mar 28 2014 00:00:00 GMT+0800 (中国标准时间) var date = new Date(2014,1,28); // Fri Feb 28 2014 00:00:00 GMT+0800 (中国标准时间)
date.setDate(30); // Sun Mar 02 2014 00:00:00 GMT+0800 (中国标准时间)
date.setMonth(3); // Wed Apr 02 2014 00:00:00 GMT+0800 (中国标准时间) /*better!*/ var dateNew = new Date(2014,1,28); // Fri Feb 28 2014 00:00:00 GMT+0800 (中国标准时间)
var dateNew2 = new Date(2014,3,30); // Wed Apr 30 2014 00:00:00 GMT+0800 (中国标准时间)

PS: ISO Date Format is not supported in Internet Explorer 8 standards mode and Quirks mode.

参考文章:

1、https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

2、https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse

3、http://tools.ietf.org/html/rfc2822#page-14

4、http://www.w3.org/TR/NOTE-datetime

5、http://msdn.microsoft.com/en-us/library/ie/cd9w2te4(v=vs.94).aspx

6、http://msdn.microsoft.com/en-us/library/ie/ff743760(v=vs.94).aspx

7、http://www.php100.com/manual/Javascript/html/jsobjdate.htm

new Date参数问题的更多相关文章

  1. date 参数(option)-d

    记录这篇博客的原因是:鸟哥的linux教程中,关于date命令的部分缺少-d这个参数的介绍,并且12章中的shell编写部分有用到-d参数 date 参数(option)-d与--date=" ...

  2. js new Date()参数格式

    最近在写页面使用new Date()获取时间戳在ie浏览器中测试发现无效:后来发现是参数格式问题, new Date()参数格式如下: 1.用整数初始化日期对象 var date1 = new Dat ...

  3. PHP 时间函数 date 参数详解

    time();表示的是从1970-01-01到现在共走了多少秒,不便于看,但便于计算 要找出前一天的时间就是 time()-60*60*24; 要找出前一年的时间就是 time()*60*60*24* ...

  4. springboot处理date参数

    前言 最近在后台开发中遇到了时间参数的坑,就单独把这个问题提出来找时间整理了一下: 正文 测试方法 bean代码: public class DateModelNoAnnotation { priva ...

  5. js获取时间戳(new date()参数获取)

    当获取截止到某一个时间点的时间戳时: 例如:到 2018-03-15 11:03:55 这个时间点的时间戳的时候 正确的写法: var data = new Date("2018/03/15 ...

  6. new Date()的参数

    前两天发现手机页面的倒计时在Android上正常显示,在iPhone却不能显示. 后来又发现在ff和ie里也不显示.(以前只在chrome里看过,显示正常). 后来同事改了new Date()里字符串 ...

  7. 前端学习笔记系列一:13new Date()的参数

    前两天发现手机页面的倒计时在Android上正常显示,在iPhone却不能显示. 后来又发现在ff和ie里也不显示.(以前只在chrome里看过,显示正常). 后来同事改了new Date()里字符串 ...

  8. salesforce 零基础学习(十六)Validation Rules & Date/time

    上一篇介绍的内容为Formula,其中的Date/time部分未指出,此篇主要介绍Date/time部分以及Validation rules. 本篇参考PDF: Date/time:https://r ...

  9. 每天一个linux命令(37):date命令

    在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便. 1.命令格式: date [参数 ...

随机推荐

  1. Foundation Data Structure

    LinkedList : /** * 考虑的比较的周全,并且包含了全部的情况,代码也不乱<b></b> * * @param index * 插入的位置 * @param c ...

  2. 转:有关Java泛型的类型擦除(type erasing)

    转载自:拈花微笑 自从Java 5引入泛型之后,Java与C++对于泛型不同的实现的优劣便一直是饭后的谈资.在我之前的很多training中,当讲到Java泛型时总是会和C++的实现比较,一般得出的结 ...

  3. Js菜鸟学习

    (一) 1 代码如下: //页面中写入html内容 document.write("<h1>Hello World!</h1>") 2 代码如下: //为了 ...

  4. 深入理解jdk和jre(转)

    转自:http://ihyperwin.iteye.com/blog/1513754 大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做.因为这样更能帮助大家 ...

  5. atol字符串转换函数应用实例

    原型:long atol(const char *nptr); 相关函数 atoi,atol,strtod,strtol,strtoul 头文件:stdlib.h 功能:将字符串转换成整型数 说明:参 ...

  6. object- c 字符串操作

    Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...

  7. Opencv学习笔记(六)SURF学习笔记

    原创文章,转载请注明出处:http://blog.csdn.net/crzy_sparrow/article/details/7392345 本人挺菜的,肯定有非常多错误纰漏之处 ,希望大家不吝指正. ...

  8. Win7系统安装MySQL5.5.21图解教程

    转自:http://www.jb51.net/article/37310.htm 这篇文章主要介绍了如何在win7中安装mysql,所以加上了MySQL的下载过程,希望对需要的人有所帮助 大家都知道M ...

  9. 基于AE的SimpleGIS框架的搭建

    ArcGIS是Esri公司集40余年地理信息系统(GIS)咨询和研发经验,奉献给用户的一套完整的GIS平台产品,具有强大的地图制作.空间数据管理.空间分析.空间信息整合.发布与共享的能力.本人主要就A ...

  10. 最全的C#图片处理帮助类ImageHelper

    最全的C#图片处理帮助类ImageHelper.cs 方法介绍: 生成缩略图 图片水印处理方法 图片水印位置处理方法 文字水印处理方法 文字水印位置的方法 调整光暗 反色处理 浮雕处理 拉伸图片 滤色 ...