2011-01-02 21 views
18

Programlamayı öğreniyorum ve ilk dili öğrenmek için Ruby'yi seçiyorum. Bu biçim nasıl 1240915075 1224855068Ayrıştırma tarihi 1240915075

denir:

Ben tarih bu formda olduğu bir XML ayrıştırma ben? Bir Tarih veya Saat nesnesinde bu değeri nasıl kullanılır?

Teşekkür ederiz!

cevap

37

Bu UNIX zamanıdır (bazen Epoch zamanı olarak adlandırılır). Bu, 1 Ocak beri geçen saniye sayısını ölçen, 1970 İşte

örnek dönüştürücü oluyor (Unix çağ 1970 1 Ocak süresi 00:00:00 UTC olan): http://www.esqsoft.com/javascript_examples/date-to-epoch.htm

dönüştürme tamsayı ilgili bir stackoverflow soru zaman Yakut kullanarak: Ruby/Rails: convert int to time OR get time from integer?

dönüştürmek için Time.at işlevini kullanın örneğin:

bir unix zaman olduğu
t = Time.at(i) 
+0

nitpick: Ben 1 Ocak 1970 dönemi süresini derim. Bu unix zaman damgası denir. – marcog

+0

iyi nokta - doğruluk için güncellendi. EPOCH zamanını arama alışkanlığım var ... –

3

- 1 Ocak 1970

beri saniye sayısıdır

Ruby bunu nasıl kullanılacağına ilişkin bir örnek buradadır: Epoch Zaman var

t = Time.at(1215163257) 
puts t.to_date 
>> 2008-07-04 
+1

Cevabınıza kodun bir kopyasını eklemelisiniz. Bu link gelecekte değişebilir/ölebilir. – marcog

+0

Kodu inline getirmek için cevabı güncelledim. –

7

(ilki Sal 28 Nisan 2009 11:37:55 GMT + 0100 karşılık gelir).

Bunu, Time.at kullanarak, bunun dışında bir datetime alabilirsiniz:

Time.at(1240915075) 
+0

Teşekkür ederim işe yaradı! – Mario