将一周字符串解析为时间(YYYY-W#)
我正在尝试解析一个星期字符串,其中一个类型为“周”的HTML5输入可能返回到ruby中的实际日期或时间。
输入将返回如下字符串:“2014-W05”,其中W05是一年中的第五周。
这是我尝试过的:
2.1.0dev :057 > Time.strptime("2014-W05", "%YW%V") 2014-01-01 00:00:00 -0800 2.1.0dev :058 > Date.strptime("2014-W05", "%YW%V") 2014-01-01 2.1.0dev :058 > DateTime.strptime("2014-W05", "%YW%V") Wed, 01 Jan 2014 00:00:00 +0000
根据文档: http : //apidock.com/ruby/DateTime/strftime
%V – 以周为基础的年份的周数(01..53)
谢谢你的帮助!
在Ruby Date类( http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/DateTime.html )中,处理周数的年份指定符应为“周年” ,由%G
给出。 所以你想要使用:
Date.strptime("2014-W05", "%GW%V")
所以区别在于:
2.1.0 :004 > DateTime.strptime("2014-W05", "%GW%V") => #
与:
2.1.0 :003 > DateTime.strptime("2014-W05", "%YW%V") => #