tarih () ve strftime () Windows ve Linux üzerinde aynı değil.

2 Cevap php

Neden bugüne kadar bazı seçenekler (vardır) ve strftime () pencerelerde desteklenmiyor? Ama bugüne kadar ilgili bir şey, her sistem desteklemesi gereken bir şeydir. Çünkü tarih içten depolandığı şekilde mi?

2 Cevap

manual on date() iki farklılıkları dikkat çekiyor:

  • PHP 5.1.0 sürümünden önce Windows 1970-2038 aralığı için kullanılan damgaları.
  • Kullanıcı Katkıda Yoruma göre, Mikrosaniye anahtarı Windows üzerinde kullanılamaz.

ve strftime ():

Tüm dönüşüm belirteçleri onlar PHP'nin strftime'a () tarafından desteklenen olmayacak bu durumda, C kütüphanesi tarafından destekleniyor olabilir. Ayrıca, tüm platformlar negatif damgaları destekleyecek, böylece tarih aralığı Unix dönemi daha erken sınırlı olmayabilir. Yanı sıra önceki 1 Ocak 1970 için tarihler - Windows -, bazı Linux dağıtımları, ve birkaç diğer işletim sistemlerinde çalışmaz Bu (ve muhtemelen diğerleri)% e,% T,% R ve% D demektir. Windows sistemleri için, desteklenen dönüşüm belirteçleri tam bir bakış »MSDN bulunabilir.

Eğer demek ne? Peki, nedenleri, zaten orada negatif damgaları için hiçbir destek açıklanmıştır. Ben o kadar hakkında yapılabilir sanmıyorum.

Bu sana sorun veriyor ise, Zend_Date gibi bir kütüphane ile gitmek isteyebilirsiniz.

date ve strftime temel sistem fonksiyonları etrafında sadece ince sargı oldukları için işletim sisteminin desteklediği yalnızca bu işlevleri kabul ettiğini, böylece bulunuyor.

http://linux.die.net/man/3/strftime
http://msdn.microsoft.com/en-us/library/fe06s4ak%28VS.71%29.aspx