Strtotime, Zend Framework veya bir ARMUT paketi: Nasıl kullanmadan 2 tarihleri ​​arasında (saniye) fark alabilirim?

3 Cevap php

Strtotime, Zend Framework veya bir ARMUT paketi: Başlık devletler gibi, ben kullanmadan 2 (özellikle şimdi ve geçmişte bir tarih arasında) tarihleri ​​arasında (saniye) fark almak istiyorum.

Benim nedenle detaya almak istemiyorum ama bunun özü (I 0 AD önce konuşuyorum, ve ben eski demek) ben çok eski tarihlere ile çalışıyorum olmasıdır.

Bu döndürülen sonuç verilen metinsel damgası saniye aşağı derece doğru olması tercih edilir. Işlevini çağırmak biçimi benzer olmalıdır:

$bar = foo("YYYY-MM-DD HH:MM:SS", "AD"); // Where AD is Anno Domini 
$baz = foo("YYYY-MM-DD HH:MM:SS", "BC"); // Where BC is Before Christ

Özellikleri bir çalışma sunan ilk kişi:

  • Yüksek okunabilirlik
  • Sihirli (üçlü operatörleri, vb)

Olarak yukarı ve kabul eden bir cevap olacaktır. Onların adı kendi kodunu kullanır kaynak dosyasının başlığında yatırılacaktır.

EDIT (Re: Şöhret):

Birisi başlığında alacak bir isim kötü görünüyor ve dışarı düzenlenebilir sahiptir. Ben istiyorum işlevini kullanır kaynak dosyasının başlığında bahsediyorum. Bu "şöhret" ile ilgili değildir. Kredi nedeniyle kredi verilmeli ve ben bir çalışma kaleme kimin hakkında yalan gerek var.

EDIT (Re: titizlikle):

Ben mümkün duyuyorum olarak en iyi "mesajının mektubu" ile devam etmek istiyorum başka sebebi yok.

EDIT (Re: Magic):

Magic farklı kişiler için farklı şeyler olduğunu. Ben senin saygı olarak üçlü operatör getirmedi, benim düşüncem saygı lütfen. Teşekkür ederim.

EDIT (Re: Eski Tarihler ve One Second Doğruluk):

Bir tarih öğrencisi olarak, bu bana mantıklı. "Bir saniye doğruluk" için arzu mutlak değildir. Mükemmellik, ulaşılabilir ise, gerekli değildir.

3 Cevap

Ben parçaları (yıl, ay, gün, saat, dakika, saniye) bölünüyoruz her datetime öneririm. Sonra, her parçası ile, en fazla eksi az yeni (BC tarih etkili bir negatif sayı olduğunu hatırlayarak) temel bir toplamını yapmak.

Bunu kesinlikle doğru olsun asla. Sen artık yıl düşünmek zorunda gidiyoruz ve bir yüzyıl yılda, bir yılda olup olmadığını Gregorian / Julian arasında geçiş vb Tarihleri

Artı sınırlamaları ve yüksek doğruluk gereksinimi için muhakeme bilmek isteriz!

Tüm bu konularda takvimsel Hesaplamaları (bunun için Google) için bkz.

Oh, ve takvim 1bc gelen 1AD gitti, hiçbir yıl 0 AD vardı, ya da daha doğrusu, modern Batılılar çoğu dünyanın diğer sistemlerini kullanan zaman, takvim yolu tanımlar.

Ya da, örneğin this one ve kendinize zaman tasarrufu olarak on-line hesap çağrı yapmak.

neden damgalarını çıkarmak değil mi?

mktime(16,59,0,8,7,2001) - mktime(16,59,0,8,7,2000) aralarında saniye =