javascript 如何比较日期时间

标签 javascript date

我有开始日期和结束日期字符串,我正在将字符串转换为日期对象

var startdate = start_date[3]+'-'+month_value_start+'-'+start_date[2]+' '+start_time[0]+':'+start_time[1]+':00';
var enddate = end_date[3]+'-'+month_value_end+'-'+end_date[2]+' '+end_time[0]+':'+end_time[1]+':00';

var s_date = new Date(startdate);
var e_date = new Date(enddate);

开始日期和结束日期格式类似于 2014-02-20 00:00:00

我想比较此日期对象,如果 s_date 大于 e_date,将向用户显示弹出窗口

if(s_date > e_date)
{
alert('Start Date Cannot Be Greater Than End Date');
}

但是即使开始日期时间大于结束日期时间,条件也不会执行,有些情况如何。

如何解决这个问题有什么建议吗?

已解决

如果开始日期大于结束日期,我正在使用的程序会在运行时自动更改结束日期。但前端没有更新,即 datetimepicker 文本框,因此前端 enddate 仍然小于 startdate,但在后台代码中修改了 enddate 变量以及我用来比较日期的变量....抱歉打扰你们了...并且感谢帮助我。

最佳答案

在确定差异时,所有答案都是正确的。

但是您面临的问题是调用方式不正确

 new Date(dateString);

从此处复制答案 Difference between Date(dateString) and new Date(dateString)

Date()

With this you call a function called Date(). It accepts date in format "yyyy-mm-dd hh:mm:ss"

new Date()

With this you're creating a new instance of Date.

You can use only the following constructors:

new Date() // current date and time
new Date(milliseconds) //milliseconds since 1970/01/01
new Date(dateString)
new Date(year, month, day, hours, minutes, seconds, milliseconds)

因此,不允许使用 2010-08-17 12:09:36 作为构造函数的参数。

编辑:new Date(dateString) 使用以下格式之一:

"October 13, 1975 11:13:00"
"October 13, 1975 11:13"
"October 13, 1975"

关于javascript 如何比较日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21898516/

相关文章:

javascript - 从 laravel Controller 将值传递给 ajax 然后获取特定字段

swift - 字符串到日期转换后得到 nil

javascript - Pretty date js 无法在 Firefox 上运行

javascript - 使用 sudo 从 Node.js 运行命令

javascript - 砌体/动态幻灯片高度问题

javascript - 单击项目时更改 onmouseover ="this.src=' xxx'"

php - PHP 中秒到分钟的转换

java - 将长时差转换为格式 HH :mm [Java]

loops - Lua 日期操作循环

javascript - 检查唯一输入名称中是否存在输入值