var current_date = '2015-10-21 16:08:30';
var event_start_date = '2015-10-27 09:30:00';
var event_end_date = '2015-10-28 18:30:00';
if(new Date(current_date) > new Date(event_end_date)){
//Event has been ended
} else if((new Date(current_date) > new Date(event_start_date)) && (new Date(current_date) < new Date(event_end_date))){
//Event is running. Event will close event_end_date
} else {
//Event not started yet. Event will start event_start_date
}
以上JavaScript条件不起作用。
我有什么问题?
注意: - Mozilla firefox上面的代码无效。请检查JSFiDDLE
答案 0 :(得分:0)
首先转换为javascript日期格式。例如。
var current_date = new Date('2015-10-21 16:08:30'); //works in chrome but not in firefox
然后你的条件会奏效。
请遵循:new Date() is working in Chrome but not Firefox
显然Mozilla不是很灵活。查看文档:{{3}}
答案 1 :(得分:0)
将字符串解析为Date对象的浏览器支持不一致。没有关于格式的规范,因此这就是它适用于Chrome而不适用于Firefox的原因。
See this link获取每个浏览器支持的格式表
我个人使用moment.js框架来操纵JavaScript上的日期,它易于使用,并且具有适用于大多数浏览器的一致API。
var current_date = '2015-10-21 16:08:30';
var momentDate = moment('2015-10-21 16:08:30', 'YYYY-MM-DD HH:mm:ss');