conversion between unix timestamp and variant VT_date
| Bug #29258 | conversion between unix timestamp and variant VT_date | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2004-07-19 15:19 UTC | Modified: | 2004-10-26 17:39 UTC |
|
||||||||||
| From: | arnout at argeweb dot nl | Assigned: | ||||||||||||
| Status: | Closed | Package: | COM related | |||||||||||
| PHP Version: | 5.0.0 | OS: | Windows 2003 server,standard | |||||||||||
| Private report: | No | CVE-ID: | None | |||||||||||
[2004-07-19 15:19 UTC] arnout at argeweb dot nl
Description:
------------
Converting dates using variant_date_from_timestamp() loses 2 hours.
Might be some timezone-like thing but then again: variant_date_to_timestamp() does give a precise translation.
I'm running apache 2 with php 5.0.0 RC 2. I tried both CGI and through apache.
Reproduce code:
---------------
<?
$nu = date('Ymd');
echo "now: $nu\n";
$timestamp = mktime( 0, 0, 0, date('m'), date('d'), date('Y') ); // Ymd = 2004 07 19
echo "now timestamp: $timestamp\n";
echo "a.k.a. : ".$timestamp." = ".date('Ymd', $timestamp )."\n";
$variant = variant_date_from_timestamp( $timestamp );
//$variant = variant_date_from_timestamp( time() );
echo "variant: ".$variant."\n";
$var_timestamp = variant_date_to_timestamp( $variant );
echo "and back again: ".$var_timestamp." = ".date('Ymd', $var_timestamp )."\n";
?>
Expected result:
----------------
now: 20040719
now timestamp: 1090188000
a.k.a. : 1090188000 = 20040719
variant: 19-7-2004 0:00:00
and back again: 1090188000 = 20040719
Actual result:
--------------
now: 20040719
now timestamp: 1090188000
a.k.a. : 1090188000 = 20040719
variant: 18-7-2004 22:00:00
and back again: 1090180800 = 20040718
// 2 hours gone! And even worse: The date changed!
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2004-07-28 09:13 UTC] arnout at argeweb dot nl
[2004-10-26 17:11 UTC] norny at yahoo dot com
[2004-10-26 17:39 UTC] wez@php.net