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

比较jQuery日期和Rails日期

程谭三
2023-03-14

我有一个rails生成的日期和一个jQuery生成的日期。

导轨日期打印如下:2002-10-27

jQuery日期打印如下:Tue Aug 14 2001 00:00:00 GMT-0500(CDT)

我想检查jQuery日期是大于还是小于rails日期。但是不管日期如何,jQuery日期总是被解释为比rails日期大。

为什么会这样,我怎样才能成功地比较这两个日期?

var year = 2001
var month = 9
month --
var day = 14
var date = new Date(year, month, day);
<% @date = Date.today - 18.years %>
if( date > <%= @date %> ) {
  //this code is always executed, no matter what dates I choose
}

更新:

事实上,我刚刚发现问题在于它只允许1969年之前的日期。我打算代码只允许18岁以上的日期。有人知道为什么不同吗?

更新 2:

我在我的 js 控制台和 Rails 控制台中测试了 2000 年 10 月 5 日的时间输出,它们给出了相同的前六位数字,但 js 控制台增加了三个零。

var year = 2000
var month = 10
month --
var day = 5
var date = new Date(year, month, day);
date.getTime();
=> 970722000000


Date.new(2000,10,5).to_time.to_i
=> 970722000 

共有3个答案

勾炜
2023-03-14

您可以尝试将它们都转换为unix时间戳并进行比较。如果你不关心时间,只关心日期,它应该有效。

var year = 2001
var month = 9
var day = 14
var date = new Date(year, month, day);
<% @date = Date.today - 18.years %>
if ( date.getTime() > <%= @date.to_time.to_i %>) {
  // do something
}
訾高明
2023-03-14

Jquery Date的用户日期格式模式,用于根据ruby日期更改日期的格式,或者第二个选项是根据jquery转换ruby日期格式,使用strftime。

蓟浩旷
2023-03-14

因此,问题是js控制台以毫秒为单位打印时间,这就是为什么我得到了97340000000,而rails控制台是973404000。

我所要做的就是将js时间除以1000,并将js时间与rails时间进行比较可以完美地工作。

var year = 2000
var month = 10
month --
var day = 5
var date = (new Date(year, month, day).getTime() / 1000);
date
=> 970722000


Date.new(2000,10,5).to_time.to_i
=> 970722000 
 类似资料:
  • 所以今年早些时候,我在大学里接到了一个任务。任务是使用OOP程序创建一个停车场管理系统。例如,我们学习了如何使用继承、抽象类和实例。我已经完成了并通过了这个作业,所以这个问题只是为了知识目的。其中一个任务是按时间顺序对对象的 Array 列表进行排序。为此,我们学习了可比/比较器方法。但是,我无法理解它,也无法做到这一点。问题是,我们必须对数组列表中的“Vehicle”对象中的“DateTime”

  • 假设我有一些账单,上面有开始日期和结束日期。 我要检查的商业规则是 例如,3月10日到4月9日大约相隔一个月,所以我用它来检查任何两个连续的账单开始日期(4月10日和3月10日)是否相隔一个月。 现在我的问题是求周期的长度。例如,假设我有以下数据集 我正在使用JodaTime库,所以我说类似这样的话 它返回0,这是正确的,但没有用处。 结果是1,尽管相隔一天。 有什么更好的方法来做到这一点?我可以

  • 目前,我正努力争取与之相比的约会。更重要的是,我有一个属性Death的人,格式是YYYY-MM-DD,如果这个人已经死了(Death 我尝试了以下做法: 但我只收到来自浏览器的解析错误。我使用的是XSL1.0版,除了xmlns:XSL=“http://www.w3.org/1999/XSL/transform”之外,没有任何名称空间。

  • 问题内容: 我有一个sql文件,其中包含以下数据,我将这些数据读入pandas中。 输出量 下一行代码是获取上周的日期 我所试图做的是,比较有并打印出所有行小于 显然,这会返回一个错误 我应该怎么做? 问题答案: 我会做一个面具,像: 如果为,则返回:

  • 问题内容: 在MySQL中,如果我有日期范围的列表(范围开始和范围结束)。例如 我想检查另一个日期范围是否包含列表中已经存在的任何范围,我该怎么做? 例如 问题答案: 这是一个经典问题,如果您逆转逻辑,实际上会更容易。 让我举一个例子。 我将在此处发布一个时间段,以及其他时间段的所有不同变体以某种方式重叠。 另一方面,让我发布所有不重叠的内容: 因此,如果您简单地将比较简化为: 那么您将找到所有不

  • 问题内容: 请有人帮忙…为什么查询不起作用.. ?? 问题答案: 在Oracle中,一个总有一个时间成分。您的客户端可能显示也可能不显示时间分量,但是当您尝试进行相等比较时,它仍然存在。您还总是希望将日期与日期而不是字符串进行比较,后者使用当前会话进行隐式转换,从而使它们相当脆弱。THat将涉及ANSI日期文字或显式调用 您可以使用该函数将截断到午夜 或者,您可以进行范围比较(如果您可以受益于的索