Javascript中的日期操作

时间:2013-05-09 08:45:58

标签: javascript jquery datetime

我目前有两个变量:

appointment_dateappointment_time分别采用dd/mm/yyyy(h)h:mm格式。

时间是12小时格式但是在12PM之前的时间没有零填充,因为我从DOM中抓取这些值,这就是它的呈现方式。

我正在尝试将当前日期和时间与这两个值进行比较,以计算时间差是否小于24小时,我可以使用以下硬编码日期对象:

var todays_date = new Date(2013, 04, 19, 15, 40, 0);
var appointment_date = new Date(2013, 04, 20, 15, 30, 0);

todays_date = todays_date.getTime();
appointment_date = appointment_date.getTime();

if ((appointment_date - todays_date) >  86400000) { // number of milliseconds in a day
    // proceed 
} else {
    alert('less than 24 hours');
}

我可以通过

从今天开始制作日期时间对象
var todays_date = new Date();

但我不知道从appointment_dateappointment_time创建新日期对象的最佳方法,同时要记住某些时间也需要填充为零。

我考虑过尝试使用/将日期中的,替换为:,将,替换为,,并将{{1}}加入{{1}}介于两者之间,但我希望这会是一个更优雅的解决方案吗?

1 个答案:

答案 0 :(得分:4)

只需将appointment_date字符串拆分为三个部分(例如split('/')),将这些部分转换为数字,对appointment_timesplit(':'))执行相同操作,记得从月份值中减去一个(月份从零开始),并将这些数字传递到Date constructor