'DateTime, zaman Damgası, Zaman ve Tarih arasındaki fark ne Raylar üzerinde Ruby,?
Benim durumumda, tarihler doğru programlama her zaman tehlike ve difficulity dolu zamanlar/.
Ruby ve Rails seçenekleri ezici sayıda nedeniyle sadece her zaman bu konuda bana atlatmıştı var; ben asla seçmem gereken hiçbir fikrim yok.
Raylar kullanarak ve ActiveRecord veri baktığımda aşağıdaki bulabilirim
:datetime :zaman damgası :zaman ve Tarih
ve farklılıklar nelerdir veya sorunlar pusuda hiçbir fikrim yok.
Ne fark eder? Onları senin için ne kullanıyorsunuz?
(Rails3 kullanıyorum P. S.)
CEVAP
ActiveRecord farklı tarih/saat biçimleri arasındaki fark Raylar ve kullandığınız her türlü ile yapmak her şey ile ilgisi var.
Kullanarak MySQL olarak bir örnek (eğer başka bir nedenle en popüler), DATE
, DATETIME
, TIME
TIMESTAMP
sütun veri türleri; tıpkı senin olduğu gibi CHAR
, VARCHAR
, FLOAT
ve INTEGER
.
Sorarım size, o yüzden ne fark eder? Bazıları kendiliğinden gelir. DATE
sadece bir tarih, TIME
DATETIME
depolar ise sadece günlük bir süre saklar, saklar.
DATETIME
TIMESTAMP
biraz daha ince arasındaki fark: DATETIME
YYYY-MM-DD HH:MM:SS
biçimlendirilmiş. Geçerli Aralık 9999 yılı yıl 1000 (ve arasındaki her şeyi. TIMESTAMP
süregörünüyorbenzer veritabanından almaya geldiğinde, gerçekten unix timestamp için sadece bir paravan. Geçerli aralığın 2038 1970 gider. Fark burada, çeşitli dahili veritabanı motoru işlevlerini bir kenara bırakırsak, depolama alanı. DATETIME
depolar yılda her basamak, ay, gün, saat, dakika ve saniye için 8 bayt toplam kullanır. TIMESTAMP
sadece mağaza olarak 1970-01-01, o zamandan beri saniye sayısı 4 bayt kullanır.
here MySQL saat biçimleri arasındaki farklar hakkında daha fazla bilgi edinebilirsiniz.
Sonunda, aşağı zaman sütun/randevun ne gerek yapmak için geliyor. Ya 2038 sonra önce 1970 tarihleri ve süreleri depolamak için ihtiyacınız var mı? DATETIME
kullanın. Veritabanı boyutu ve timerange içinde olduğun hakkında endişelenmenize gerek var mı? TIMESTAMP
kullanın. Sadece bir tarih saklamak için ihtiyacınız var? DATE
kullanın. Yalnızca bir kez depolamak için ihtiyacınız var mı? TIME
kullanın.
Tüm bunları söyledikten sonraRaylar aslında sizin için bu kararların bazıları yapar. :timestamp
:datetime
:date
:time
DATE
TIME
sırasıyla tekabül ederken DATETIME
, varsayılan olacaktır.
Bu Raylar içinde, yalnızca tarih, saat veya her ikisini de saklamak için ihtiyacınız olup olmadığını karar vermek zorunda anlamına gelir.
'DateTime arasındaki fark ne ve R...
Nasıl Ruby DateTime için bir unix zama...
raylar üzerinde ruby koleksiyonu güzer...
Ruby/Rails: bir UNİX zaman damgası içi...
Kullanım alanı 'datetime' ve...