Bir zaman damgası, OR nasıl iyi SQL tarihleri ​​başa strtotime nasıl?

0 Cevap php

Benim belirsiz Büyük app, ben MySQL veritabanı tarihlerdeki her zaman almak, ve bugüne kadar, nerede ve ben PHP'nin ile biçimlendirilmiş zaman date() komutu rasgele oldu. Ben bugün o kadar derli toplu ve oldukça alma daha görünümüne tamamen tüm taşımak istedim. Ama bazı sorunlarla karşılaştı.

Benim yöntem şimdiye kadar veritabanından bir tarih alırken date() fonksiyonlar bir şey var ki, ben bunun üzerine strtotime() çalıştırdıktan sonra app kalanı onu geçmek olmuştur onlar ile çalışabilirsiniz. Bu iyi bir fikir mi, yoksa ben daha iyi ve belirgin bir şey eksik: Yani, ilk soru? Ben uğraşıyorum tarihleri ​​DATE türü değil, neredeyse hepsi DATETIME.

Yani, tarih olsun, ve web sayfasında görüntülemek için date() kullanabilirsiniz. Bu iyi. Ama bazen, ben sadece veritabanında başka eklemek, ve date() tür görünümüne dışarı ayırma amacı yendi ihtiyaç yerleri bulmak için arka uç aracılığıyla avlamak zorunda veritabanından bir şey alırsınız . Benim alma fonksiyonları yardımsever strtotime($date_from_db) dönmek ve sonra diğer tabloya yeni bir giriş oluşturmak ... ve tüm yeni girişler doğrulama ve hazırlık fonksiyonları geçmelidir. Ve bu buluşun bir sorun yatmaktadır. Ben görerek tarihleri ​​doğrulamak ve hazırlamak eğer strtotime() 0000-00-00 başka bir şeye. Ama bir zaman damgası strtotime() koşamam; Bana 1969/12/31 verdiyse testinde ben koştum. Yani benim sorular:

  1. Bir zaman damgası strtotime() çalıştırmak şekilde mümkün mü?
  2. Değilse, değişken bir zaman damgası olup olmadığını bilmek kolay bir yolu var mı? Yani ben sadece date() üzerinde ziyade uğraşan çalıştırabilir strtotime()? Bunun dışında tutarlı olması için bir başarısızlık güvenebilir miyim bilmiyorum çünkü, 1969/12/31 çıkıyor görmesini. Bunu zaten yapmak için geçerli bir şey olmadıkça?
  3. Ve ben bu tamamen yanlış yapıyorum?

0 Cevap