【问题标题】:Unable to compare date & time with current time?无法将日期和时间与当前时间进行比较?
【发布时间】:2015-10-12 09:54:14
【问题描述】:

我正在使用bootstrap date time picker library 并从这样的文档中获取价值。

var accountExpiry = jQuery(".tempExpiry input").val(); 

returns = "2015 年 10 月 12 日 - 下午 3:35"

我的目标是将 accountExpiry 时间与 Date.now() 进行比较,并提醒用户 Expiry 必须大于当前时间。

我尝试了以下 jquery,但这是错误的:

var accountExpiry = jQuery(".tempExpiry input").val();
if (accountExpiry > Date.now()) { 
    console.log("OK");
} else { 
    console.log("Select time must be greater than current"); 
}

【问题讨论】:

  • 要使其工作,您必须将字符串解析为 Date 对象..
  • 您需要将字符串解析为 Date 对象。然而,这并不简单,因为该格式不会被自动识别。您要么需要更改字符串格式,要么编写自己的解析器。我会强烈推荐前者。
  • .tempExpiry 输入 - 这是 jquery datepicker 吗?
  • 试试这个var accountExpiry = new Date(jQuery("input").val().replace('-',''));

标签: javascript jquery datetime


【解决方案1】:

Demo

var accountExpiry = "12 October 2015 - 08:35 AM"; //change this with jQuery(".tempExpiry input").val()
var date = new Date(Date.parse(accountExpiry.replace(" -",""))) ;
if (date > new Date(Date.now())) { 
    console.log(date , new Date(Date.now()) ,"less");
} else { 
    console.log(date , new Date(Date.now()) ,"greater"); 
}

【讨论】:

    猜你喜欢
    • 2011-11-14
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 2022-01-16
    相关资源
    最近更新 更多