我有lead_creat_date
我需要将它与日期前20天进行比较(假设今天是2011年8月4日,比我需要7月14日至2011年)。因此,与lead_creat_date
和2011年7月14日的比较。
if ( lead_creat_date > july-14-2011)
{
alert('lead_creat_date is greater');
}
如何在JavaScript中进行此比较?
我正在尝试使用JavaScript日期对象。我确实在使用setDate()
&之前的20天前获得了一个号码。 getDate()
函数,但我不知道如何将lead_creat_date
转换为JavaScript date()对象。
感谢。
答案 0 :(得分:0)
您可能可以使用Date.parse()
方法。
这实际上取决于您的日期格式。
答案 1 :(得分:0)
我假设lead_creat_date是一个Date对象,因为它不清楚......
这取决于您需要的准确程度。你可以做这样的事情,这个事情可以追溯到20天,到毫秒。
var now = new Date().getTime() - 20 * 24 * 60 * 60 * 1000;
if (lead_creat_date > now) {
alert('lead_creat_date is greater');
}
如果你只关心这一天,你可能会这样做
var now = new Date().getTime() - 20 * 24 * 60 * 60 * 1000;
now = new Date(now.toDateString());
if (lead_creat_date > now) {
alert('lead_creat_date is greater');
}
参考文献:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toDateString
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/getTime
答案 2 :(得分:0)
要将字符串转换为日期,请将部件转换为数字以用作 Date 构造函数的输入。例如如果您的日期是 July-14-2011 ,那么您可以使用以下方式进行转换:
var dateString = 'July-14-2011';
var months = {january:0, february:1, march:2, april:3,
may:4, june:5, july:6, august:7, september:8,
october:9, november:10, december:11};
var dateBits = dateString.split('-');
var monthNumber = months[dateBits[0].toLowerCase()];
// Date object for date string
var date = new Date(dateBits[2], monthNumber, dateBits[1]);
// 20 days prior
date.setDate(date.getDate() - 20); // 24 Jun 2011
如果您的日期格式是8/27/2009 10:23:00 AM,您可以使用以下方式转换为日期:
var dateString = '8/3/2011 10:23:00 AM';
var dateBits = dateString.split(/[ \/]/);
var date = new Date(dateBits[2], dateBits[0] - 1, dateBits[1]);
// 20 days prior
date.setDate(date.getDate() - 20); // 14 Jul 2011
alert(date);
如果您需要包含时间,可以使用相同的策略来包含时间,例如
var dateString = '8/3/2011 10:23:00 AM';
var dateBits = dateString.split(/[ \/:]/);
if (dateBits[6].toLowerCase() == 'pm') {
dateBits[3] = +dateBits[3] + 12;
}
// Thu 14 Jul 2011 10:23:00
var date = new Date(dateBits[2], dateBits[0] - 1, dateBits[1] - 20,
dateBits[3], dateBits[4], dateBits[5]);
并作为一个功能:
function offsetDate(dateString, offset) {
var dateBits = dateString.split(/[ \/:]/);
if (dateBits[6].toLowerCase() == 'pm') {
dateBits[3] = +dateBits[3] + 12;
}
return new Date(dateBits[2], dateBits[0] - 1,
+dateBits[1] + +offset,
dateBits[3], dateBits[4], dateBits[5]);
}
// Thu 14 Jul 2011 10:23:00
alert(offsetDate('8/3/2011 10:23:00 AM', -20));
// Tue 23 Aug 2011 22:23:00
alert(offsetDate('8/3/2011 10:23:00 PM', +20));
// Wed 18 Jan 2012 10:23:00
alert(offsetDate('12/29/2011 10:23:00 AM', +20));