当前位置: 首页 > 知识库问答 >
问题:

比较javascript/jquery中的两种日期格式

公孙栋
2023-03-14

我有以下几点:

var fit_start_time  = $("#fit_start_time").val(); //2013-09-5
var fit_end_time    = $("#fit_end_time").val(); //2013-09-10

if(Date.parse(fit_start_time)>=Date.parse(fit_end_time)){
    alert("Please select a different End Date.");
}

上面的代码不起作用。以上问题还有其他解决方案吗?

格式化日期按我在哪里可以找到留档格式化日期在JavaScript?也dint为我工作。

共有3个答案

贺博厚
2023-03-14

在您的示例中,fit_start_time不会晚于fit_end_time

试试反过来:

var fit_start_time  = $("#fit_start_time").val(); //2013-09-5
var fit_end_time    = $("#fit_end_time").val(); //2013-09-10

if(Date.parse(fit_start_time) <= Date.parse(fit_end_time)){
    alert("Please select a different End Date.");
}

使现代化

您的代码意味着您希望看到带有当前变量的警报。如果是这种情况,则上述代码是正确的。如果您的意图(根据警报消息的含义)是确保他们的fit_start_time变量是fit_end_time之前的日期,那么您的原始代码是正确的,但是您从jQuery获得的数据是正确的。val()方法分析不正确。如果您给我们选择器正在嗅探的实际HTML,这会有所帮助。

卜昂熙
2023-03-14

以组合字符串格式(mm-dd-yyyy)的日期。

    var job_start_date = "10-1-2014"; // Oct 1, 2014
    var job_end_date = "11-1-2014"; // Nov 1, 2014
    job_start_date = job_start_date.split('-');
    job_end_date = job_end_date.split('-');

    var new_start_date = new Date(job_start_date[2],job_start_date[0],job_start_date[1]);
    var new_end_date = new Date(job_end_date[2],job_end_date[0],job_end_date[1]);

    if(new_end_date <= new_start_date) {
      // your code
    }
咸弘雅
2023-03-14

很简单:

if(new Date(fit_start_time) <= new Date(fit_end_time))
{//compare end <=, not >=
    //your code here
}

比较2个Date实例就可以了。它只需隐式调用valueOf,将Date实例强制为整数,可以使用所有比较运算符进行比较。好吧,为了100%准确:Date实例将被强制为Number类型,因为JS不知道整数或浮点数,它们都是有符号的64位IEEE 754双精度浮点数。

 类似资料:
  • 问题内容: 有人可以建议一种使用JavaScript 比较 两个 大于,小于和过去的 日期 的值的方法吗?这些值将来自文本框。 问题答案: 该Date对象会做你想要的东西- 构造一个每个日期,然后用它们进行比较,,或。 在,,,和运营商要求使用作为 要清楚的是,仅直接检查日期对象是否相等将不起作用 我建议您使用下拉列表或日期输入的某些类似约束形式,而不要使用文本框,以免您陷入输入验证的困境。

  • 问题内容: 我需要在Java中比较两个日期。我正在使用这样的代码: 这是行不通的。变量的内容如下: 包含 包含 我该如何解决? 问题答案: 日期相等性取决于两个等于毫秒的日期。使用创建新的Date对象将永远不会等于过去创建的日期。Joda Time 的API简化了日期的处理。但是,仅使用Java的SDK:

  • 我有一个rails生成的日期和一个jQuery生成的日期。 导轨日期打印如下: jQuery日期打印如下: 我想检查jQuery日期是大于还是小于rails日期。但是不管日期如何,jQuery日期总是被解释为比rails日期大。 为什么会这样,我怎样才能成功地比较这两个日期? 更新: 事实上,我刚刚发现问题在于它只允许1969年之前的日期。我打算代码只允许18岁以上的日期。有人知道为什么不同吗?

  • 我会如何比较以下两个日期?

  • 我有两个字符串格式的日期:说,格式为。比较日期1和日期2的相等性的最佳方法是什么?我不关心时间,只关心日、年、月。我应该将它们转换为即时并进行比较吗?

  • 我想问的是,是否有一种首选的方法来根据显示格式比较两个日期对象?我可以实现这个逻辑,我只是好奇是否已经存在一些实现。 更新 我有两个日期对象: null