如何从字符串构造一个 javascript Date 对象

How do I construct a javascript Date object from string

本文关键字:一个 javascript 对象 Date 字符串      更新时间:2023-09-26

我有字符串格式的日期值"06/12/2012"。如何构造 Javascript Date 对象,以便我可以执行前后比较?

将字符串转换为日期对象的唯一可靠方法是解析它。您必须事先知道格式。字符串"06/12/2012"不符合任何正式标准,但最有可能是日/月/年,因此:

// Convert string in d/m/y format to a Date object
function toDate(s) {
  var bits = s.split('/');
  return new Date(bits[2],--bits[1],bits[0]);
}

请注意,任何日期解析函数都必须被告知格式和(通常)分隔符,因为猜测格式非常容易出错。

不要将字符串传递给任何浏览器 Date 对象并依赖主机正确解释它,浏览器可能识别的唯一格式是ISO8601格式,即使这样,许多人也会弄错它。

var d = new Date("06/12/2012");
var date = new Date("06/12/2012"),
    other = new Date("03/12/2012");
(date - other > 0? alert("after") : alert("before");