par
Tracker » 21 oct. 2007, 01:08
Salut,
Regarde si ça correspond:
<?php
$t = gmmktime(0,0,0,10,21,2007);
$s = $t % 60;
$m = (int) ($t / 60) % 60;
$h = (int) ($t / 3600) % 24;
$var1 = (int) ((($t / 86400) + 730) % (1461));
$var2 = 1968 + 4 * (int)( ( (int)($t / 86400) + 730) / 1461);
$var3 = ($bi = $var1 < 366) ? $var1 + 1 : ($var1 - 365) % 365;
$var2 += $bi ? 0 : (int)(($var1 - 365) / 365) + 1;
$mois = array(31,28+($bi?1:0),31,30,31,30,31,31,30,31,30,31,100);
$j = 31; $i = 0;
while($j-1<$var3) $j+=$mois[++$i];
$yy = $var2;
$mm = $i+1;
$dd = $var3-$j+$mois[$i]+1;
echo sprintf('%04d%02d%02dT%02d:%02d:%02dZ', $yy, $mm, $dd, $h, $m, $s);
?>
Fais le ménage dans les variables mais le principe doit être là.
Tracker.
Salut,
Regarde si ça correspond:
[php]
<?php
$t = gmmktime(0,0,0,10,21,2007);
$s = $t % 60;
$m = (int) ($t / 60) % 60;
$h = (int) ($t / 3600) % 24;
$var1 = (int) ((($t / 86400) + 730) % (1461));
$var2 = 1968 + 4 * (int)( ( (int)($t / 86400) + 730) / 1461);
$var3 = ($bi = $var1 < 366) ? $var1 + 1 : ($var1 - 365) % 365;
$var2 += $bi ? 0 : (int)(($var1 - 365) / 365) + 1;
$mois = array(31,28+($bi?1:0),31,30,31,30,31,31,30,31,30,31,100);
$j = 31; $i = 0;
while($j-1<$var3) $j+=$mois[++$i];
$yy = $var2;
$mm = $i+1;
$dd = $var3-$j+$mois[$i]+1;
echo sprintf('%04d%02d%02dT%02d:%02d:%02dZ', $yy, $mm, $dd, $h, $m, $s);
?>[/php]
Fais le ménage dans les variables mais le principe doit être là.
Tracker.