标签: chronic

使用慢性会损害你的时间感吗?

哈哈..

我正在使用Chronic来解析用户在日历中添加的时间.在代码工作并实现正确时间的情况下,最终结果是,如果用户添加时间,则它没有日期,并且因为它没有日期,所以它不会显示在结果中.有任何想法吗?

def set_dates
  unless self.natural_date.blank? || Chronic.parse(self.natural_date).blank?
    # check if we are dealing with a date or a date + time
    if time_provided?(self.natural_date)
      self.date = nil
      self.time = Chronic.parse(self.natural_date)
    else
      self.date = Chronic.parse(self.natural_date).to_date
      self.time = nil
    end
  end

  unless self.natural_end_date.blank? || Chronic.parse(self.natural_end_date).blank?
    # check if we are dealing with a date or a date + time
    if time_provided?(self.natural_end_date)
      self.end_date = nil
      self.end_time = Chronic.parse(self.natural_end_date)
    else
      self.end_date = Chronic.parse(self.natural_end_date).to_date
      self.end_time = nil
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

编辑:

这是time_provided?方法:

def time_provided?(natural_date_string)
  date_span …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails chronic

28
推荐指数
1
解决办法
1770
查看次数

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

我正在使用慢性来获得任何一年的最后一个星期日.它很乐意给我第n个星期天,但不是最后一个星期天.

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

Chronic.parse('4th sunday in march', :now => Time.local(2015,1,1))
Run Code Online (Sandbox Code Playgroud)

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

Chronic.parse('last sunday in march', :now => Time.local(2015,1,1))
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个明显的限制?

更新:我正在推测下面的两个答案,因为它们都很好,但我已经在"纯Ruby"中实现了这个(在2行代码中除了require 'date'行之外),但我试图向管理层演示Ruby是用来替换正在消失的Java代码库的正确语言(并且有几十行代码来计算它),我告诉一位经理我可能会在一行Ruby中做到这一点,而且它是可读的,易于维护.

ruby chronic

7
推荐指数
2
解决办法
1723
查看次数

在fedora 12安装rdoc,irb,bluecloth,慢性的问题

这些错误意味着什么?

[root@localhost config]# gem install bluecloth
Building native extensions.  This could take a while...
ERROR:  Error installing bluecloth:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
can't find header files for ruby.


Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/bluecloth-2.0.7 for 
inspection.
Results logged to /usr/lib64/ruby/gems/1.8/gems/bluecloth-2.0.7/ext/gem_make.out
[root@localhost config]# 
Run Code Online (Sandbox Code Playgroud)

还有这个

[root@localhost config]# gem install chronic
Successfully installed json_pure-1.4.3
Successfully installed rubyforge-2.0.4
Successfully installed hoe-2.6.0
Successfully installed chronic-0.2.3
4 gems installed
/usr/lib64/ruby/gems/1.8/gems/rdoc-2.5.8/lib/rdoc/ruby_lex.rb:67: warning: 
parenthesize argument(s) for future version
ERROR:  While executing gem …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails irb rdoc chronic bluecloth

5
推荐指数
1
解决办法
1万
查看次数

适用于Python的Chronic(Ruby NLP日期/时间解析器)?

有谁知道像chronic这样的库,但针对python?

谢谢!

chronic

4
推荐指数
1
解决办法
1943
查看次数

慢性病是否有任何日期格式选择?(红宝石)

我需要慢慢地告诉我,日期的格式是天 - 月 - 年可能吗?我传给慢性病的数据也可能是今天/昨天/ 2天前的文字.

目前慢性病给了我2 Dec 2010而不是12 Feb 2010来自12-02-2010

我能想到的唯一解决方案是在将字符串传递给慢性字符之前交换日期和月份.

require 'chronic'   

puts "12-02-2010 = #{Chronic.parse('12-02-2010')}"  #should be 12 Feb 2010


puts "yesteday = #{Chronic.parse('yesterday')}" #working ok
puts "Today = #{Chronic.parse('today')}"        #working ok
Run Code Online (Sandbox Code Playgroud)

ruby date chronic

3
推荐指数
1
解决办法
2685
查看次数

标签 统计

chronic ×5

ruby ×2

ruby-on-rails ×2

bluecloth ×1

date ×1

irb ×1

rdoc ×1