用红宝石解析2020-W9日期的好方法是什么

问题描述 投票:0回答:3

[从Alexa,我正在获得像2020-W9这样的星期格式,但对于红宝石Date.parse,我需要这种格式2020-W09。我想知道什么是很好的红宝石解决方案。如果有一些内部库可以将W9转换为W09或某一行函数。

ruby alexa
3个回答
2
投票

如果您知道确切的格式,则应使用strptime而不是strptime

parse

require 'date' Date.strptime('2020-W9', '%Y-W%W') #=> #<Date: 2020-03-02 ((2458911j,0s,0n),+0s,2299161j)> 是4位数字的年份,%Y是从星期一开始的几周的星期数。如果您的星期从星期日开始,也有%W

%U

1
投票

这应该做:

Date.strptime('2020-W9', '%Y-W%U')
#=> #<Date: 2020-03-01 ((2458910j,0s,0n),+0s,2299161j)>

如果是一个数字,它只会在数字前放置一个"2020-W9".sub(/(?<=-W)(\d)\z/, '0\1') # => "2020-W09" "2020-W19".sub(/(?<=-W)(\d)\z/, '0\1') # => "2020-W19"


0
投票

您可以使用此

0
© www.soinside.com 2019 - 2024. All rights reserved.