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ş:
Bir Unix zaman damgası DateTime dönüşt...
Nasıl Python epoch (unix zaman) beri m...
Ruby/Rails: bir UNİX zaman damgası içi...
Nasıl unix zaman damgası iphone sdk iç...
Nasıl'zaman damgası sütun biçimi ...