问题标签 [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.
ruby-on-rails - 提取已识别的日期字符串传递给 Chronic 中的 parse 方法
我想模仿 Mac 日历快速事件或 Fantastical 的快速输入的功能。使用 Chronic gem,我可以传递如下字符串:
如果您传入以下内容,则慢性解析不起作用:
到目前为止,我所做的是使用一个简单的正则表达式将字符串拆分为通常用于返回 Chronic 日期的单词。初始正则表达式很简单:
如果您愿意,这将返回一个带有“标题”的数组,以及我想发送给 Chronic 为我解析的字符串。
两个问题:
- 这真的是最好的方法吗?我必须提供一些大型正则表达式来拆分我认为我的用户将在这里提交的任何字符串。
- 在 Chronic 中进行黑客攻击会更好吗?它已经在为我解析日期,但我最初的想法是否定的,因为如果你传递
Eat at Joes Today at 3pm
给 Chronic.parse,它将返回 nil。似乎它无法识别字符串中用于格式化当前形式的日期的部分。
date - NLP 日期解析
我一直在尝试使用许多 NLP 文本解析器,但发现大多数在实际文本中发生的一些最简单的任务都失败了(没有经过预处理以显示系统有多“好”。一个例子是下列的:
我还没有找到一个可以正确解析它的解析器。我试过很多,包括斯坦福大学的sutime。谁能推荐可以处理自然文本日期的软件?
ruby-on-rails - 如何在 ActiveSupport 的 TimeZone 类中设置时区
我正在尝试使用红宝石中的慢性将文本解析为日期。但是,我在尝试解析字符串时一直遇到错误。
错误:NoMethodError - undefined method 'zone=' for Time:Class:
这是代码:
当我尝试使用以下方法设置时区时:
它向我抛出了那个错误。我正在打印偏移量,根据文档它是合适的。'Eastern Time (US & Canada)'
我什至用(直接来自ActiveSupport Docs)替换了计算的偏移量
错误:NoMethodError - undefined method 'now' for "UTC":String:
“现在”是需要解析的时间,“UTC”是时区。
任何和所有的帮助都非常感谢。
代码来源:timeapi
ruby-on-rails - Rails:使用 ActiveModel 的自定义验证
我目前正在尝试使用日期输入进行自定义验证,但不幸的是,它似乎不起作用。
应用程序内部有两个页面,索引页面和搜索页面。在索引页面内有一个输入日期的文本字段。我正在使用将文本解析为日期的Chronic gem 。如果日期无效,Chronic 将返回 nil。如果有效,它会重定向到搜索页面并显示日期。
到目前为止我编写的代码似乎无法正常工作,但我想要实现的是..
1) 验证 Chronic 不会返回 nil
2)验证该日期大于今天的日期
请注意,我没有使用数据库,我只是希望能够在没有 ActiveRecord 的情况下验证输入的日期。如果有人可以帮助我,您的帮助将不胜感激。
意见/主要/index.html.erb
意见/主要/search.html.erb
<%= @show_date %>
主控制器.rb
模型/main.rb
编辑:
这就是问题所在...
本地主机:3000
然后它重定向到..
localhost:3000/main/search?utf8=%E2%9C%93&q=invalid+date+test
没有验证,没有日期,什么都没有。
ruby - 如何在 ruby 中为不同用户启用重复提醒?
目前,我的应用程序的用户为单个提醒设置了特定的日期和时间(使用 Chronic gem)。
我有一个每 10 分钟运行一次的 cron 作业,并检查提醒中的时间是否为 <Time.now
此时,它会发送提醒并将该提醒标记为已发送。
但是,我希望他们能够指定重复提醒。客户应该能够说“每隔一天上午 10 点”。
我可以使用ice_cube
它似乎经常出现的部分。然后我使用 Chronic 来计算开始时间,其中包含日期和循环时间。
但我没有一个好的方法让它重复发生,因为这些不是数据库中的单独事件。
这是我尝试过的:
```reminder = response.body['results'] #array of recurring alerts with start_epoch and 'via' d {reminder}
```
问题:
- 有没有办法在不将每个特定的每日提醒写入数据库的情况下判断何时发送提醒?
- 有没有更优雅的方式让用户在文本字符串中定义重复出现?
client - 有人在 VoltRB 中使用过 Chronic 或 ChronicDuration 吗?
我已将chronic
和chronic_duration
gem 放入我Gemfile
的 . 中,一切正常volt console
。但是,如果我在客户端尝试任何操作,我会收到名称错误。我尝试在客户端初始化程序中要求它们,但这没有帮助。
有小费吗?
jquery - 如何在本地解析各种格式或自然语言日期并传递给 jquery datepicker?
我:date_as_text
在 Rails 表单中有一个字段。提交表单时,Chronic 会解析该字段,并将日期时间保存到数据库中。
由于这是一个文本字段,用户可以输入各种不同的日期格式,甚至是“今天”、“昨天”等,所有(大多数)都由 Chronic 解释。
输入值也可以通过附加到该字段的 jquery datepicker 来设置。
如果用户键入的条目与 datepicker 预期的日期格式完全对应(在本例中为 yy-MM-dd),则更新 datepicker 以显示当前选择的数据。
如何解析客户端输入的值,以便日期选择器也能识别其他日期格式?我正在努力概念化如何解决这个问题。
- 如何在本地解析各种格式或自然语言日期?一种方法似乎是https://github.com/datejs/Datejs,尽管这个库似乎没有得到很好的维护。
- 什么时候解析?在字段中最后一个条目后 x 秒?或者,还有更好的方法?
- 如何将解析后的值传递给 datepicker?是否需要重新初始化日期选择器?
这听起来可行,还是一个非常糟糕的主意?欣赏他人的想法或经验。
ruby-on-rails - Chronic 在夏令时停止解析简单的时间格式
几周以来,我一直在我的 Rails 应用程序中成功使用Chronic 。我没有用它做任何花哨的事情,只是用它来解析基本时间输入,如“1:21pm”或“1440”等。直到今天,当我运行我的测试套件并遇到一个非常奇怪的问题时,一切都运行良好失败。
这些都有效:
但是12:21 AM
返回 nil:
在我的代码中,我实际上是在strftime
去除日期并保持时间,因为这就是我所关心的。但是,当 Chronic 回归时,这自然就行不通了nil
。
有趣的是,今天早上我所在的时区悉尼开始了夏令时。我有一段时间没有更改此代码的其他任何内容,所以我的猜测是它是相关的。
ruby - 我需要使用 Chronic gem 从今天开始的过去 5 个星期六验证过去日期的一些表格
我已经安装了 Chronic gem,而
我可以让 Chronic.parse('Saturday', :context => :past) 返回上周六的日期,但不能
'5 last Saturdays' 返回 'nil'
我希望它以这种格式返回: strftime "%m%d%Y%H%M"
我也不能标记任何像 .exists 这样的方法?或者应该 ==true 以便我可以使用它来验证这些报告是否已运行
我只想验证 02/11/2017 02/04/2017 01/28/2017 01/28/2017 01/21/2017 是否在页面上显示为文本,但由于它们每周都会更改,我需要逻辑从现在起最后 5 个星期六返回
ruby - 获取痒痒的参数超出范围错误
来自文档:https ://github.com/yb66/tickle
Tickle.parse('day')
#=> {:next=>2010-05-10 20:57:36 -0400, :expression=>"day", :starting=>2010-05-09 20:57:36 -0400, :until=>nil}
我的控制台:
2.2.1 :013 > Tickle.parse('day')
ArgumentError: argument out of range
工作正常,现在失败了。我不清楚如何解决这个问题。
完整的堆栈跟踪: