我怎么能转换"Sat Nov 06 05:48:16 +0000 2010"到'11-06-2010'Ruby中?我试过了
Date.strptime("Sat Nov 06 05:48:16 +0000 2010", '%m-%d-%Y')
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
ArgumentError (invalid date):
/Users/ben/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/date.rb:1688:in `new_by_frags'
/Users/ben/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/date.rb:1713:in `strptime'
Run Code Online (Sandbox Code Playgroud)
我正在使用ruby 1.9.2p0(2010-08-18修订版29036).
我究竟做错了什么?感谢阅读.
通过我阅读文档,您的使用strptime可能是错误的.看起来第二个参数描述了第一个参数的格式,导致第一个参数的非常严格的解析.
因此,您可以明确地将第一个参数的格式写入第二个参数,您应该没问题.
一个更简单的解决方案可能只是使用Date.new.然后,Date.strftime应该准确地给你你想要的东西.
irb(main):001:0> require "date"
=> true
irb(main):002:0> Date.new("Sat Nov 06 05:48:16 +0000 2010").strftime('%m-%d-%Y')
=> "11-06-2010"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |