问题标签 [chronic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
964 浏览

ruby-on-rails - 月/日的慢性解析

我正在使用 Chronic 来解析日期,它将字符串 '8/15' 解析为 2015 年 8 月 16 日。

关于如何让 Chronic 将 8/15 识别为当年 8 月 15 日的任何想法?

这是测试代码:

0 投票
1 回答
280 浏览

javascript - 将 jQuery datepicker 与 Chronic 一起使用

我正在尝试获得一个很好的组合,以发挥 jQuery 日期选择器和 Ruby on Rails 的慢性日期解析器的优势。

jQuery UI 日期选择器对于直观地选择日期很有用。但我也希望用户能够以他们选择的任何格式输入日期,并让 Chronic 库处理输入。

我有一个文本输入字段,我在其上附加了一个日期选择器,日期选择功能效果很好。但我还想要的是,如果用户忽略日期选择器,只输入“上周二”并按 Enter 键,我想提交“上周二”并让慢性将其解析为 2011 年 10 月 18 日。但是发生的事情是文本框值被日期选择器中的当前日期替换。

这似乎是一个应该存在的选项,以允许日期选择器作为助手工作,而不是唯一的输入来源。但我找不到禁用此功能的方法。

更新:

通过仅在按钮按下而不是焦点上显示日历,我得到了改进,但是,即使您显示了日期选择器,它仍然似乎是错误的,如果您输入一些文本并按 Enter,那被日期选择器日期覆盖!

0 投票
1 回答
497 浏览

ruby - 使用 Ruby Chronic 计算日期偏移量

我使用慢性返回解析的日期对象,如下所示:

但我真正想要做的是约会一个像 last_day_date 这样的日期对象,并在两周前返回日期,如下所示:

与其他尝试一样,这将返回 nil,包括变量和硬编码:

问题:

  1. 我可以使用慢性来解析现有日期对象的偏移量吗?(例如,此日期前 14 天,而不是 +14 天)。

  2. 我可以使用慢性来解析现有日期的偏移量吗?

  3. 即使解决方案不是慢性的,如何最好地实现这一点?

编辑:我正在运行没有导轨的 Ruby 1.9.2。这些都是 ruby​​ 脚本,尽管我很乐意包含完成这项工作所需的任何 gem。

0 投票
1 回答
245 浏览

ruby - 是否有用于解析商店营业时间的 RubyGem?

是否有任何 ruby​​ gem 可以解析和标准化商店营业时间?我见过Chronic,但我认为它不适用于这个特定的用例。

例如,您将如何解析Mon-Sun 11am-10pmor Hours today: 5:30 AM – 10:00 PM?您是否必须创建特定于每个上下文的规则?有没有一个图书馆已经这样做了?

0 投票
2 回答
625 浏览

ruby-on-rails - Rails 长期 gem 未按预期验证

我正在尝试将日期“03/20/1985”输入到名为“生日”的文本字段中,并将其插入列类型为“日期”的数据库字段中。

当我输入时10/20/1985,我收到错误“生日无效”,但是当我输入时20/10/1985,它工作得很好。

从我一直在阅读的所有文档中,慢性应将“10/20/1985”解析为 mm/dd/yyyy,但似乎将其解析为 dd/mm/yyyy。

我怎样才能将日期解析为 mm/dd/yyyy?

/models/user.rb

0 投票
1 回答
118 浏览

ruby - 慢性病有 24 小时时间设置吗?

我偶然发现了一个使用 Chronic gem 的有趣(并且暂时停止了令人费解的)行为。

解析字符串1/21/13 2:20

但是,如果 a0位于 前面2

现在,我可以将 AM 或 PM 放在字符串的末尾,这基本上会覆盖此行为(因此前导是否存在并不重要0),但这显然是解析的额外步骤,并否定了很多优势使用慢性。是否有另一种选择来适当地处理这个领先的零问题?这让我措手不及,这还没有弄清楚。

我应该注意,我需要解析的字符串可能是上述两种情况中的任何一种。

0 投票
1 回答
1490 浏览

ruby - 如何将 ruby​​ Gem Chronic 的默认时区设置为没有导轨的特定时区

问题

默认情况下,Chronic gem 使用系统时区作为默认时区。

他们在这里(https://github.com/mojombo/chronic#time-zones)提到,我可以使用 ActiveSupports Time.zone 来改变它。但是我没有使用 Rails,我使用的是 Sinatra,并且仅仅为了利用 timezone 类而包含主动支持似乎没有必要。

我还能怎么做?

我正在尝试做的事情。

我将 Chronic 用于系统报告/仪表板和统计信息。

服务器在 UTC 时间将时间戳存储在数据库中的 created_at 字段中。当然,我们将报告作为 PDT 运行。

我想将默认时区设置为 America/Los_Angeles。以便:

我怎样才能做到这一点?

0 投票
1 回答
128 浏览

ruby-on-rails - Chronic - how to set a default year when parsing a month

I got an input field where the user inputs a date, currently I'm using Chronic and the user likes it.

If the user enters last jan using Chronic and strftime I get January 2013 which is good, the issue comes when:

the user input is an upcoming month like January, the parsing I'm doing returns January 2014 and not January 2013 wich is what the user wants.

Is there a way that I can set as default the current year? So when the user puts January it is parsed to January 2013 ?

Thanks!

0 投票
1 回答
174 浏览

ruby-on-rails - 为什么 Chronic 会错误地解析四个字母月?

在 Chronic 0.9.1 中,解析时Febr 2013我得到一个 result June 2013Feb 2013解析得很好,但Febr 2013不是。

我认为问题在于月份缩写有四个字母。

我需要:

  • 解析Febr 2013February 2013, 或
  • 无效Febr 2013

要验证我使用的日期:

这是一个错误吗?我可以做周围的工作吗?或者,有正确的方法来验证这一点?

0 投票
5 回答
1940 浏览

ruby - 获取本月的最后一个星期日

我正在使用 Chronic 来获取任何给定年份的月份的最后一个星期日。它会很乐意给我第n个星期日,但不是最后一个。

这有效,但不是我需要的:

这是我需要的,但不起作用:

有什么办法可以绕过这个明显的限制吗?

更新:我赞成下面的两个答案,因为它们都很好,但我已经在“纯 Ruby”中实现了这个(在 2 行代码中,除了require 'date'一行),但我试图向管理层展示Ruby 是用来替换即将消失的 Java 代码库的正确语言(并且它有几十行代码来计算它),我告诉一位经理我可能可以用一行 Ruby 来完成它,它将是可读且易于维护的。