簡體   English   中英

來自ruby 1.8.7的ruby 1.9.2中的不同時間格式導致問題

[英]Different Time Format in ruby 1.9.2 from ruby 1.8.7 causing issues

我正在退出的Ruby on rails應用程序中將ruby版本從ruby 1.8.7升級到ruby 1.9.2,該應用程序廣泛使用與時間相關的計算。 但在切換到ruby 1.9.2 -p290之后它無法正常工作。 我猜問題就在於此

$ rvm use 1.8.7

ruby-1.8.7-p334 :001 > Time.now
=> Thu May 12 12:42:35 +0200 2011 

$ rvm use 1.9.2

ruby-1.9.2-p180 :001 > Time.now
=> 2011-05-12 12:42:44 +0200 

有些請告訴我如何解決這類問題或如何更改或覆蓋默認的ruby 1.9.2格式回舊版或如何解決這個時間相關的更新版本的ruby。

謝謝

您可以使用

Time.now.asctime

在1.9

編輯1:

好吧,取決於你將如何使用它。 這應該適合你:

irb(main):001:0> class Time
irb(main):002:1> class << self
irb(main):003:2>   alias :orig_now :now
irb(main):004:2>
irb(main):005:2*   def now
irb(main):006:3>     orig_now.asctime
irb(main):007:3>   end
irb(main):008:2> end
irb(main):009:1> end
=> nil
irb(main):010:0> Time.now
=> "Thu Jul 28 12:29:08 2011"  # STRING
irb(main):011:0>

編輯2:

好的,我的問題有些不對勁。 上面的補丁將導致Time.now返回字符串(而不是Time對象)。

如果您只想看到Time對象被表示為不同,您可以應用此:

irb(main):011:0> class Time
irb(main):012:1>
irb(main):013:1* def inspect
irb(main):014:2>   self.asctime
irb(main):015:2> end
irb(main):016:1> end
=> nil
irb(main):017:0> Time.now
=> Thu Jul 28 13:41:16 2011   # TIME

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM