如何在javascript中将字符串(01/02/2013 22:13)转换为日期
我有两条线:如何在javascript中将字符串(01/02/2013 22:13)转换为日期,javascript,Javascript,我有两条线: var string1 = "01/02/2013 22:13"; var string2 = "08/01/2013 02:01"; 我想在JavaScript中转换为日期来比较两个日期 var date1 = new Date(string1); //Turn it into a date var date2 = new Date(string2); //Turn the other thing into a date console.log(Math.abs(date1
var string1 = "01/02/2013 22:13";
var string2 = "08/01/2013 02:01";
我想在JavaScript中转换为日期来比较两个日期
var date1 = new Date(string1); //Turn it into a date
var date2 = new Date(string2); //Turn the other thing into a date
console.log(Math.abs(date1 - date2)); //Take the absolute value of the subtraction
正如@RobertLevy所指出的,这可能不起作用,这取决于用户的文化。(D/M/Y vs M/D/Y),因此最好在服务器端处理所有日期,这样浏览器只会获得(正确的)时间戳。不希望使用
日期对象来解析日期字符串。相反,你自己要这样做
下面我已经编写了一个方法来解析您的字符串
function convertToDate(datSt) {
var s1 = datSt.split(" ");
var s1dat = s1[0].split("/");
var s1Tim = s1[1].split(":");
return new Date(s1dat[2], s1dat[1], s1dat[0], s1Tim[0], s1Tim[1])
}
使用返回毫秒的Date.getTime()
,以便可以非常轻松地执行日期比较
if (d1.getTime() > d2.getTime()) {
//do whatever
} else if (d1.getTime() < d2.getTime()) {
//do whatever
} else {
//do whatever
}
if(d1.getTime()>d2.getTime()){
//做任何事
}else if(d1.getTime()
最后,
var string1 = "01/02/2013 22:13";
var string2 = "08/01/2013 02:01";
var d1 = convertToDate(string1);
var d2 = convertToDate(string2);
//getTime returns milliseconds, which can used for comparison
if (d1.getTime() > d2.getTime()) {
//do whatever
} else if (d1.getTime() < d2.getTime()) {
//do whatever
} else {
//do whatever
}
// Below is the method to split your string to Date object
function convertToDate(datSt) {
var s1 = datSt.split(" ");
var s1dat = s1[0].split("/");
var s1Tim = s1[1].split(":");
return new Date(s1dat[2], s1dat[1], s1dat[0], s1Tim[0], s1Tim[1])
}
var string1=“01/02/2013 22:13”;
var string2=“08/01/2013 02:01”;
var d1=转换日期(string1);
var d2=转换日期(string2);
//getTime返回毫秒,可用于比较
if(d1.getTime()>d2.getTime()){
//做任何事
}else if(d1.getTime()
仅供参考:您不能对日期对象执行衡平法(==
)操作。其他(
和解析JS中的日期字符串很难。首先,你需要知道字符串代表的格式-你发布的格式是不明确的。像这样的库可以帮助处理各种明确的形式。一定要使用库,因为这很棘手,而且浏览器在如何实现“标准”功能方面不一致ke Date.parse已回答。注意全球化。文化(以及用户的浏览器)因预期的是M/D/Y还是D/M/Y而有所不同。最好的办法是以标准格式将字符串传递到javascript中,以消除这种歧义()这会对文化D/M/Y与M/D/Y进行假设(假设代码不关心用户的文化,可以做任何用户文化要求的事情,这几乎肯定是不正确的)此外,请解释您的代码。@RobertLevy,Shivan编辑。有没有办法解决文化问题?@Dude的解决方案是,只要您向JS提供日期字符串,(通过服务器或其他方式)它需要采用明确的格式,如ISO 8601字符串