SORU
19 EKİM 2011, ÇARŞAMBA


Nasıl Ruby DateTime için bir unix zaman damgası (epoch beri saniye) dönüştürmek için?

Nasıl Ruby için bir Unix zaman damgası (epoch beri saniye) DateTime dönüştürme?

CEVAP
19 EKİM 2011, ÇARŞAMBA


Üzgünüm, sinaps başarısızlık an kısa. İşte gerçek cevap.

Time.at(seconds_since_epoch_integer).to_datetime

Kısa örnek(bu mevcut sistemi zaman dilimi dikkate alan):

$ date  %s
1318996912

$ irb

ruby-1.9.2-p180 :001 > require 'date'
 => true 

ruby-1.9.2-p180 :002 > Time.at(1318996912).to_datetime
 => #<DateTime: 2011-10-18T23:01:52-05:00 (13261609807/5400,-5/24,2299161)> 

Diğer güncelleme(UTC)

ruby-1.9.2-p180 :003 > Time.at(1318996912).utc.to_datetime
 => #<DateTime: 2011-10-19T04:01:52 00:00 (13261609807/5400,0/1,2299161)>

Son Güncelleme: Ben, karşılaştırılan iyi çözümler bu iş parçacığı çalışırken bir HA service bir ya da iki hafta önce, gerçekten çok şaşırtıcı bulmak olduğunu Time.at(..) daha iyi performans DateTime.strptime(..) (güncelleme: eklendi daha fazla kriterler).

# ~ % ruby -v
#  => ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin13.0]

irb(main):038:0> Benchmark.measure do
irb(main):039:1*   ["1318996912", "1318496912"].each do |s|
irb(main):040:2*     DateTime.strptime(s, '%s')
irb(main):041:2>   end
irb(main):042:1> end

=> #<Benchmark ... @real=2.9e-05 ... @total=0.0>

irb(main):044:0> Benchmark.measure do
irb(main):045:1>   [1318996912, 1318496912].each do |i|
irb(main):046:2>     DateTime.strptime(i.to_s, '%s')
irb(main):047:2>   end
irb(main):048:1> end

=> #<Benchmark ... @real=2.0e-05 ... @total=0.0>

irb(main):050:0* Benchmark.measure do
irb(main):051:1*   ["1318996912", "1318496912"].each do |s|
irb(main):052:2*     Time.at(s.to_i).to_datetime
irb(main):053:2>   end
irb(main):054:1> end

=> #<Benchmark ... @real=1.5e-05 ... @total=0.0>

irb(main):056:0* Benchmark.measure do
irb(main):057:1*   [1318996912, 1318496912].each do |i|
irb(main):058:2*     Time.at(i).to_datetime
irb(main):059:2>   end
irb(main):060:1> end

=> #<Benchmark ... @real=2.0e-05 ... @total=0.0>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • fufko

    fufko

    27 ŞUBAT 2006
  • hitcreatormusic2

    hitcreatormu

    21 Mayıs 2010
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008