Ik heb hetvolgende scriptje in perl:
De output die ik hiermee krijg is:
Waar ik over struikel is dat mktime in de zomerse dagen een uur erbij optelt.
Zoals ik begrijp zou de functie 'strftime' mktime op zijn beurt weer aanroepen, maar dit lijkt niet als zodanig te gebeuren. Als dit wel het geval geweest zou zijn, zou het logischer wijs zijn dat een strftime met gelijke argumenten als mktime, ook opdezelfde timestamp moeten uitkomen, maar dat doen ze dus niet.
Maak ik ergens een beredeneringsfout?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
| use POSIX;
use Time::Format qw(time_format time_strftime time_manip);
setlocale(LC_ALL, "nl_NL@euro");
$time_t = POSIX::mktime( 0, 0, 0, 25, 7, 2007-1900 );
print "ltime: " . POSIX::strftime("%c (Hour, min,sec = %H:%M:%S)",localtime($time_t)) . "\n";
print "ftime: " . POSIX::strftime("%c (Hour, min,sec = %H:%M:%S)",0,0,0,25,7,2007-1900) . "\n";
print "secs: " . $time_t . " & " . POSIX::strftime("%s",0,0,0,25,7,2007-1900) . "\n\n";
$time_t = POSIX::mktime( 0, 0, 0, 25, 2, 2007-1900 );
print "ltime: " . POSIX::strftime("%c (Hour, min,sec = %H:%M:%S)",localtime($time_t)) . "\n";
print "ftime: " . POSIX::strftime("%c (Hour, min,sec = %H:%M:%S)",0,0,0,25,2,2007-1900) . "\n";
print "secs: " . $time_t . " & " . POSIX::strftime("%s",0,0,0,25,2,2007-1900) . "\n\n"; |
De output die ik hiermee krijg is:
code:
1
2
3
4
5
6
7
| ltime: za 25 aug 2007 01:00:00 CEST (Hour, min,sec = 01:00:00) ftime: za 25 aug 2007 00:00:00 CEST (Hour, min,sec = 00:00:00) secs: 1187996400 & 1187992800 ltime: zo 25 mrt 2007 00:00:00 CET (Hour, min,sec = 00:00:00) ftime: zo 25 mrt 2007 00:00:00 CET (Hour, min,sec = 00:00:00) secs: 1174777200 & 1174777200 |
Waar ik over struikel is dat mktime in de zomerse dagen een uur erbij optelt.
Zoals ik begrijp zou de functie 'strftime' mktime op zijn beurt weer aanroepen, maar dit lijkt niet als zodanig te gebeuren. Als dit wel het geval geweest zou zijn, zou het logischer wijs zijn dat een strftime met gelijke argumenten als mktime, ook opdezelfde timestamp moeten uitkomen, maar dat doen ze dus niet.
Maak ik ergens een beredeneringsfout?
Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/