jquery 字符串转化为日期 "27 Apr, 2015"

怎么才能用jquery 将"27 Apr, 2015"这样的字符串转化为日期?

这个转换和jQuery无关,直接使用JS的Date对象就可以了,而且非常简单:

var d = new Date("27 Apr, 2015");

我们可以用下面这行代码检验一下,看转换是否正确:

console.log(d.toLocaleString()); // 2015/4/27 上午12:00:00

还可以用下面这句代码,检验是否为日期类型:

console.log(Object.prototype.toString.call(d)); // [object Date]

希望能帮到你~~

追问

那如果需要跟当前的系统时间作运算,获取相差的天数怎么获取?
var date_from = new date($("#date-from").val());
var now = new date();
var d = (date_from - now)/1000/24/60/60;
return d;

这样可以不?

追答

逻辑上来说没有问题,但有几个问题:

1、如果能保证#date-from填写的格式正确,没问题;

2、new Date()直接得到的是包括小时在内的,而通过'27 Apr, 2015'得到的,是从当日"00:00:00"计算的,所以会出现0.5天的情况,需视实际需求上下取舍;

3、return d;必须是放在函数中

给你提供一个函数,和使用示例:

function getDay(dateStr) {
    var now = new Date(),
        date = new Date(dateStr),
        day = 24 * 3600 * 1000;
    return Math.floor((now - date) / day);
}

// 今天是 2015/04/20
console.log(getDay("2015/04/19")); // 1
console.log(getDay("2015/04/21")); // -1
console.log(getDay("2015/04/20")); // 0

温馨提示:答案为网友推荐,仅供参考
相似回答