我正在使用javascript Date并且我开始变得疯狂:)
我想要两个比较两个日期的年,月,日。日期是(从firebug stacktrace中检索):
[Date {Thu Feb 11 2010 12:00:00 GMT+0000 (GMT Standard Time)}]
[Date {Sun Jul 11 2010 00:00:00 GMT+0100 (GMT Daylight Time)}]
在这一点上,我正在尝试比较这两个日期:
if (datepickerBegin == null || datepickerBegin.length == 0 || datepickerBegin != date) {
//Do stuff
}
这段代码显然不起作用,这是比较这两个String的简单方法吗?
我正在尝试将此var转换为Date并将其连接到另一个var getMonth()+getYear()+getDay()
...但是
我相信有一种最简单的方法。
顺便说一下,为什么以下行给出NaN
new Date(datepickerBegin).getMonth()
但以下行有效吗?
new Date(Date.parse(datepickerBegin.toString())).getMonth()
答案 0 :(得分:2)
使用Date.parse(...);
解析日期后,您可以使用Date构造函数来创建日期类型。此过程的一个示例已被抽象为以下函数:
function parseDateAsDatePart(dateString) {
var parsedDate = new Date(Date.parse(dateString));
return new Date(parsedDate.getYear(), parsedDate.getMonth(), parsedDate.getDate());
}
将两个字符串更改为Date对象后,您可以如上所示对它们进行比较。
注意:如上面提到的Linus,Date.parse(...)
返回一个整数,而不是日期对象,因此需要将其包装在Date构造函数中。
答案 1 :(得分:1)
尝试使用.getTime()
方法将日期转换为时间。如果日期相同,则它们将具有从getTime返回的相同值。这假设您只使用日期的字符串值(即“9/6/12”)。如果您的日期将有与之关联的时间戳,那么您需要使用setHours()
函数将所有时间参考设置为0(d.setHours(0,0,0,0);
)。
链接:
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/getTime
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/setHours
示例:强>
if(datePickerBegin.getTime() === datePickerEnd.getTime())
{
//...do something.
}
注意:如果你最终走了.getMonth()
路线,那么请注意该函数会将月份作为零数字返回,因此将1添加到它返回的内容。
答案 2 :(得分:0)
您可以尝试使用getMonth,GetDays,...
http://www.comptechdoc.org/independent/web/cgi/javamanual/javadate.html