Thread Kleines Rechenproblem mit Date::Calc: Will einen Monat von heute zurückrechnen (15 answers)
Opened by krusty at 2007-04-20 15:46

krusty
 2007-04-20 16:33
#76074 #76074
User since
2006-01-27
91 Artikel
BenutzerIn
[default_avatar]
@vayu, danke habe ich total vergessen. :(

Das Script sieht jetzt so aus.
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl

use warnings;
use strict;
use Time::Local;
use Date::Calc qw(Add_Delta_YM);

my ($sec,$min,$hour,$day,$month,$year) = (localtime)[0..5];
$month++;
$year+=1900;
print "Debug: $day, $month, $year\n";

my ($year2,$month2,$day2) = Add_Delta_YM($year,$month,$day,0,-1);

print "Debug: $day2, $month2, $year2\n";

my $time_now = timelocal(1, 0, 0, $day, $month, $year);
my $time_old = timelocal(1, 0, 0, $day2, $month2, $year2);
print "Debug: $time_now\n";
print "Debug: $time_old\n";


Die Ausgabe gibt mir folgendes.
Code: (dl )
1
2
3
4
Debug: 20, 4, 2007
Debug: 20, 3, 2007
Debug: 1179612001
Debug: 1177020001


Wenn ich jetzt den Timestamp wieder zurückrechne bekomme ich für den ersten Wert 00:00:00 20-05-2007 sollte aber eigentlich April sein und nicht Mai. Genauso beim zweiten Wert. Ist April sollte aber März sein. Siehe die ersten beiden Debug Werte. Warum wirft der das durcheinander?

View full thread Kleines Rechenproblem mit Date::Calc: Will einen Monat von heute zurückrechnen