我正在尝试使用Ruby将2015-08-02转换为“2015-08-2”。如果我这样做:
(2015-08-02).to_s => SyntaxError: (irb):21: Invalid octal digit
2015-08-02.to_s => SyntaxError: (irb):21: Invalid octal digit
答案 0 :(得分:3)
调解此事:
require 'date'
date = Date.parse('2015-08-02') # => #<Date: 2015-08-02 ((2457237j,0s,0n),+0s,2299161j)>
此时,包含日期的字符串已被解析为Date对象。
date.strftime('%Y-%m-%e') # => "2015-08- 2"
可以使用strftime
将 date
返回到字符串,其中有多种方式可以表示日期的各个部分。在这种情况下,您不需要零填充日。 Ruby支持使用%e
这是一个空间填充的日子,但是你有空间来处理:
date.strftime('%Y-%m-%e').delete(' ') # => "2015-08-2"