|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2003-02-12 20:03 UTC] jm at sindigit dot pt
mktime() appears to be returning an incorrect timestamp under some circunstances.
Sample script:
--------------
<?
$mk1= mktime (00,00,00,03,29,2003);
$frm1 = date ("d/m/Y", $mk1);
print "$mk1\n";
print "$frm1\n";
$mk2= mktime (00,00,00,03,30,2003);
$frm2 = date ("d/m/Y", $mk2);
print "$mk2\n";
print "$frm2\n";
?>
Outputs:
--------
1048896000
29/03/2003
1048978800
29/03/2003
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Nov 18 11:00:01 2025 UTC |
on freebsd x86: $ php -v 4.2.1 $ uname -sr FreeBSD 4.6-STABLE $ php -q data.php 1048896000 29/03/2003 1048982400 30/03/2003 on sparc: $ php -v PHP 4.3.0 (cli) (built: Feb 10 2003 18:07:11) Copyright (c) 1997-2002 The PHP Group Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies with Zend Optimizer v2.1.0, Copyright (c) 1998-2003, by Zend Technologies $ uname -sr SunOS 5.8 $ php -q data.php 1048896000 29/03/2003 1048978800 29/03/2003 Timestamps are differentscript: <? for($hour=0;$hour<2;$hour++) { for($min=0;$min<60;$min++) { for($seg=0;$seg<60;$seg++) { $mk2= mktime ($hour,$min,$seg,03,30,2003); $frm2 = date ("d/m/Y", $mk2); print "($hour h, $min m, $seg s) $mk2 --> $frm2\n"; } } } ?> relevant part of output: ... (0 h, 59 m, 55 s) 1048982395 --> 29/03/2003 (0 h, 59 m, 56 s) 1048982396 --> 29/03/2003 (0 h, 59 m, 57 s) 1048982397 --> 29/03/2003 (0 h, 59 m, 58 s) 1048982398 --> 29/03/2003 (0 h, 59 m, 59 s) 1048982399 --> 29/03/2003 (1 h, 0 m, 0 s) 1048982400 --> 30/03/2003 (1 h, 0 m, 1 s) 1048982401 --> 30/03/2003 (1 h, 0 m, 2 s) 1048982402 --> 30/03/2003 (1 h, 0 m, 3 s) 1048982403 --> 30/03/2003 (1 h, 0 m, 4 s) 1048982404 --> 30/03/2003 ...