我需要解析以下字符串DateTime對象:
30/Nov/2009:16:29:30 +0100
字符串轉換爲DateTime
是否有一個簡單的方法來做到這一點?
PS:我想按原樣轉換上面的字符串。一年後的冒號不是錯字。我也想用Ruby解決問題,而不是RoR。
我需要解析以下字符串DateTime對象:
30/Nov/2009:16:29:30 +0100
字符串轉換爲DateTime
是否有一個簡單的方法來做到這一點?
PS:我想按原樣轉換上面的字符串。一年後的冒號不是錯字。我也想用Ruby解決問題,而不是RoR。
DateTime.strptime允許您指定格式並將字符串轉換爲DateTime。
在Ruby 1.8中,ParseDate模塊會將這個和許多其他日期/時間格式進行轉換。但是,它不會在年份和時間之間適當地處理冒號。假設冒號是拼寫錯誤,實際上是一個空格,那麼:
#!/usr/bin/ruby1.8
require 'parsedate'
s = "30/Nov/2009 16:29:30 +0100"
p Time.mktime(*ParseDate.parsedate(s)) # => Mon Nov 30 16:29:30 -0700 2009
我已經成功與:
require 'time'
t = Time.parse(some_string)
很好的答案! :) – 2017-11-14 05:57:40
我用Time.parse("02/07/1988")
,像一些其他的海報。
一個有趣的問題是,當我打開IRB時默認加載了Time
,但未定義Time.parse
。我不得不require 'time'
才能正常工作。
這是與Ruby 2.2。
爲中國Rails開發者:
DateTime.strptime('2012-12-09 00:01:36', '%Y-%m-%d %H:%M:%S')
=> Sun, 09 Dec 2012 00:01:36 +0000
是年份和小時之間錯字結腸? – 2010-02-04 15:33:49
不,不是排字錯誤 – SkaveRat 2010-02-04 15:47:36