Javascript 如何创建日期对象(“23.03.2010”)

Javascript 如何创建日期对象(“23.03.2010”),javascript,Javascript,我直接从数据库中获取了astring,我正在创建日期对象 Date dt=Date(“2010年3月23日”)而且是comin NaN 然而,当我使用Date dt=Date(“03/23/2010”)时,它运行良好 你知道我该怎么做吗?你必须以MDY格式传递字符串(解析)日期。这是为了避免歧义(2010年5月6日是指5月6日还是6月5日?) 如果愿意,可以使用新日期(年、月、日)格式,并分别传递参数。必须以MDY格式传递字符串(解析)日期。这是为了避免歧义(2010年5月6日是指5月6日还是6

我直接从数据库中获取了astring,我正在创建日期对象
Date dt=Date(“2010年3月23日”)
而且是comin NaN

然而,当我使用
Date dt=Date(“03/23/2010”)
时,它运行良好

你知道我该怎么做吗?

你必须以MDY格式传递字符串(解析)日期。这是为了避免歧义(2010年5月6日是指5月6日还是6月5日?)

如果愿意,可以使用
新日期(年、月、日)
格式,并分别传递参数。

必须以MDY格式传递字符串(解析)日期。这是为了避免歧义(2010年5月6日是指5月6日还是6月5日?)


如果愿意,您可以使用
新日期(年、月、日)
格式,并分别传递参数。

最安全的方法是,如果您可以从1970-01-01以毫秒为单位返回日期,则可以轻松地从中创建日期对象。例如:

var n = 1269302400000;
var dt = new Date(n);

最安全的方法是,如果可以将日期返回为自1970-01-01以来的毫秒,则可以轻松地从中创建日期对象。例如:

var n = 1269302400000;
var dt = new Date(n);

请注意,您需要使用
new
操作符调用
Date

在非构造函数中调用日期 上下文(即,没有新的 运算符)将返回一个字符串 表示当前时间

同一页详细说明了
Date
构造函数的语法


如果要从字符串构造
Date
,则接受的格式受
Date.parse
方法的规则控制。有关这些规则的摘要,请参见。

请注意,您需要使用
new
操作符调用
Date

在非构造函数中调用日期 上下文(即,没有新的 运算符)将返回一个字符串 表示当前时间

同一页详细说明了
Date
构造函数的语法

如果要从字符串构造
Date
,则接受的格式受
Date.parse
方法的规则控制。有关这些规则的摘要,请参阅。

请尝试

d="23.03.2010".split(".");
Date dt=Date([d[1],d[0],d[2]].join("/"))
我认为这不是最美丽的方式

试试看

d="23.03.2010".split(".");
Date dt=Date([d[1],d[0],d[2]].join("/"))
我认为这不是最美丽的方式

试试看

var dateParts = '23.03.2010'.split('.');
// -1 from month because javascript months are 0-based
var dateObj = new Date(dateParts[2], dateParts[1]-1, dateParts[0]);
试试这个

var dateParts = '23.03.2010'.split('.');
// -1 from month because javascript months are 0-based
var dateObj = new Date(dateParts[2], dateParts[1]-1, dateParts[0]);

您可以解析数据库中的字符串,然后创建日期对象。您必须从解析的月份值中减去1才能获得正确的日期

var dateString = "23.03.2010";
var dateParts = dateString.split(".");
var dt = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);

您可以解析数据库中的字符串,然后创建日期对象。您必须从解析的月份值中减去1才能获得正确的日期

var dateString = "23.03.2010";
var dateParts = dateString.split(".");
var dt = new Date(dateParts[2], dateParts[1] - 1, dateParts[0]);

那应该是5月6日或6月5日我总是觉得有趣的是,
m/d/y
应该避免歧义,因为它只在世界上相当小的一部分使用;我得说,大多数人会发现它比ISO 8601更令人困惑;-)我来自英国,我完全同意:)d/m/y是明智的,y/m/d是最不含糊的。那应该是5月6日或6月5日我总是觉得有趣的是,
m/d/y
应该避免歧义,因为它只在世界上相当小的一部分使用;我得说,大多数人会发现它比ISO 8601更令人困惑;-)我来自英国,我完全同意:)d/m/y是合理的,y/m/d是最不含糊的。这会给你一个日期对象,它的月份是四月,而不是三月。这个月将被取消一个,因为
Date
构造函数的第二个参数是一个范围在0-11之间的数字。@Martin:真的吗?JavaScript在这方面与Java具有相同的braindead API?这将为您提供一个日期对象,该对象的月份是四月,而不是三月。由于
Date
构造函数的第二个参数是一个范围为0-11的数字,因此该月将减少一个。@Martin:真的吗?JavaScript在这方面与Java有着相同的死板API吗?