我将获得String" 2012"然后" 12月"第一次
在下面获取字符串1,15, 30
我应该将它们转换为Datetime
对象
2012年12月1日
2012年12月15日
2012-12-30
怎么做?
答案 0 :(得分:3)
Date.strptime('2012 December', '%Y %B')
#=> Sat, 01 Dec 2012
date = Date.strptime('2012 December 10', '%Y %B %d')
#=> Mon, 10 Dec 2012
date.strftime("%Y-%m-%d")
#=> "2012-12-10"
答案 1 :(得分:0)
你有这个字符串:
[1] pry(main)> str = "2012 December 1,15, 30"
=> "2012 December 1,15, 30"
你想得到它的三个日期(12月1日,15日和30日。首先,从这个字符串中获取年,月和日:
[2] pry(main)> m = /(?'year'\d*)\s(?'month'[a-zA-Z]*)(?'days'[\d, ]*)/.match str
=> #<MatchData
"2012 December 1,15, 30"
year:"2012"
month:"December"
days:" 1,15, 30">
然后将days
拆分为数组并对其进行迭代,将年份和月份的天数转换为Date
对象(您可以使用Date.strptime
作为上面显示的shivam或{{1 }}):
Time.parse