2010-10-17 23 views

cevap

11

Sen DateTime ve DateTime :: Süre

http://search.cpan.org/dist/DateTime/lib/DateTime/Duration.pm

kullanmak Veya unix zaman damgaları ile çalışabilirsiniz:

my $now = time(); 
my $threeDaysAgo = $now - 3 * 86400; 
my ($day, $mon, $year) = (localtime($threeDaysAgo))[3, 4, 5]; 
printf("Three days ago was %04d-%02d-%02d", $year+1900, $mon+1, $day); 
+3

bile DateTime ile rahatsız etmek gerekmez :: tarih manipülasyon, örneğin bir sürü Süre kendisini '$ three_days_ago = DateTime-> now() -> çıkarma (gün => 3)' – plusplus

+0

DateTime'ı kullanırken dikkat etmeniz gereken tek şey, başlattığınız DateTime nesnelerinin sayısını en aza indirmektir (ayırmak için oldukça zaman alıcı olabilir ve) yok. Mümkün olduğunca sık tekrarlayın. –

5

birçok, birçok farklı tarih ve saat manipülasyon modülü vardır.

Bunların hepsi iyi düşünülmüş DateCalc fonksiyonu:

Bunlar. Ek olarak birçok diğerleri var. Bir çok şey yapmak istediğiniz aritmetik türüne bağlıdır. DateTime belki de en titizdir, ancak Date :: Calc and Date :: Manip'in ihtiyaç duyduğunuz iş için daha kolay yönetilmesi gerekebilir.

İlgili konular