【问题标题】:Comparing Dates with AngularJS用 AngularJS 比较日期
【发布时间】:2016-04-10 03:11:53
【问题描述】:

我正在构建一个 AngularJS/Rails 网络应用程序,其中一部分是创建预订(功能预订),我试图在仪表板中显示两个不同的选项卡,一个是当前预订,一个是以前的预订。预订模型有一个 function_date 属性,我将它从 API 中检索到 $scope.bookings 数组中。

如果 function_data > 今天的日期如果不将其存储到 PreviousBookings 数组中,我如何比较日期(在其上运行 if 语句)将其存储到 CurrentBookings 数组中?

希望这是有道理的。

附:我仍在自学如何编程,所以这对某些人来说可能是个愚蠢的问题。

【问题讨论】:

  • 我遇到的问题是日期格式,如果我按照建议的文章进行操作,它就不起作用,因为 new Date();产生 2016-04-10T03:35:00.128Z 并且我的 function_date 采用 YYYY-MM-DD 格式
  • 您可以将 new Date() 格式化为 YYYY-MM-DD 然后比较就可以了。查看这个问题以了解格式化 JS 日期stackoverflow.com/questions/3552461/… 的方法。我也推荐 moment.js 库,但它可能有点矫枉过正。

标签: javascript ruby-on-rails angularjs


【解决方案1】:

很多方法解决了这个问题,但我用毫秒来转换时间,然后很容易比较。

var n = Date.now();

它给出当前 返回自 1970/01/01 以来的毫秒数:

1460260009358

【讨论】:

    【解决方案2】:

    首先,尝试将您的字符串转换为日期。然后和现在比较一下。

    var date = new Date('2030-03-30'); //this is a Date object
    
    if (date > new Date()) { //Date object comparison
       //[...]
    }
    // or
    if (date.getTime() > Date.now()) { //unix timestamp (integer) comparison
       //[...]
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 2011-12-31
      • 2018-11-24
      • 1970-01-01
      相关资源
      最近更新 更多