Javascript 新日期(Date.parse(string))和新日期(string)之间的技术区别是什么?
给定以下标准化日期字符串:Javascript 新日期(Date.parse(string))和新日期(string)之间的技术区别是什么?,javascript,string,date,Javascript,String,Date,给定以下标准化日期字符串: var dateString = "2010-12-23T23:12:00"; 我可以使用以下代码片段之一对其进行解析: 示例1: var date = new Date(dateString); var date = new Date(Date.parse(dateString)); 示例2: var date = new Date(dateString); var date = new Date(Date.parse(dateString)); 根据,
var dateString = "2010-12-23T23:12:00";
我可以使用以下代码片段之一对其进行解析:
示例1:
var date = new Date(dateString);
var date = new Date(Date.parse(dateString));
示例2:
var date = new Date(dateString);
var date = new Date(Date.parse(dateString));
根据,只有当字符串的格式为
YYYY-MM-DDTHH:MM:ss.sssZ
时,才能很好地定义日期解析。但是,如果字符串是这种格式,我可以想象这两个示例总是返回完全相同的结果
这两种从标准化日期字符串创建日期对象的方法在技术上有什么不同?它们是否返回不同的结果?我在写下这个问题后不久就找到了答案。根据ECMAScript语言规范,对于字符串参数,这两种方法将在符合标准的浏览器中产生相同的结果 从: 15.9.3.2新日期(值):
var date = new Date(dateString);
var date = new Date(Date.parse(dateString));
newdate(string)
时,它将以与Date.parse(string)
完全相同的方式解析字符串。因此,通过调用newdate(Date.parse(string))
我们得到了与newdate(string)
完全相同的结果,但要付出额外方法调用的性能代价