将一周字符串解析为时间(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") => #