Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何将日期字符串范围转换为datatime数据类型_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 如何将日期字符串范围转换为datatime数据类型

Ruby on rails 如何将日期字符串范围转换为datatime数据类型,ruby-on-rails,ruby,Ruby On Rails,Ruby,我需要将以下原始字符串日期范围转换为ruby datetime日期类型 如何在Rails上完成它 原始字符串 转换为ruby日期时间变量 原始字符串 转换为ruby日期时间变量 这可能会有帮助 # In order to generate # year = 2014 # months = "April/July" # days = "24-1" /(?<year>\d{4})\s*(?<months>\w+\/\w+)\s*(?<days>\d{1,2}\-

我需要将以下原始字符串日期范围转换为ruby datetime日期类型

如何在Rails上完成它

原始字符串 转换为ruby日期时间变量 原始字符串 转换为ruby日期时间变量 这可能会有帮助

# In order to generate
# year = 2014
# months = "April/July"
# days = "24-1"

/(?<year>\d{4})\s*(?<months>\w+\/\w+)\s*(?<days>\d{1,2}\-\d{1,2})/ =~ "2014 April/July  24-1"

date1 = "#{year} #{months.split('/')[0]} #{days.split('-')[0]}"
date2 = "#{year} #{months.split('/')[1]} #{days.split('-')[1]}"

start_date = Date.strptime(date1, "%Y %b %d") #=> Thu, 24 Apr 2014
end_date = Date.strptime(date2, "%Y %b %d")   #=> Tue, 01 Jul 2014

如果原始字符串的格式始终相同,则将Date.parse方法与自定义格式字符串一起使用。
start_date = 2014-04-24 
end_date = 2014-07-01
"2015 April  06-20"
start_date = 2015-04-06
end_date = 2015-04-20
# In order to generate
# year = 2014
# months = "April/July"
# days = "24-1"

/(?<year>\d{4})\s*(?<months>\w+\/\w+)\s*(?<days>\d{1,2}\-\d{1,2})/ =~ "2014 April/July  24-1"

date1 = "#{year} #{months.split('/')[0]} #{days.split('-')[0]}"
date2 = "#{year} #{months.split('/')[1]} #{days.split('-')[1]}"

start_date = Date.strptime(date1, "%Y %b %d") #=> Thu, 24 Apr 2014
end_date = Date.strptime(date2, "%Y %b %d")   #=> Tue, 01 Jul 2014