]> granicus.if.org Git - php/commitdiff
- Fixed bug #52454 (Relative dates and getTimestamp increments by one day)
authorDerick Rethans <derick@php.net>
Mon, 30 Aug 2010 16:25:52 +0000 (16:25 +0000)
committerDerick Rethans <derick@php.net>
Mon, 30 Aug 2010 16:25:52 +0000 (16:25 +0000)
ext/date/lib/tm2unixtime.c
ext/date/tests/bug52454.phpt [new file with mode: 0644]

index 59f7daf9fb0d1d14f1ab3c956107cba9a825a3d2..f2b7493ed481126b636d704487e000a2c84a324f 100644 (file)
@@ -444,6 +444,7 @@ void timelib_update_ts(timelib_time* time, timelib_tzinfo* tzi)
        time->sse = res;
 
        time->sse_uptodate = 1;
+       time->have_relative = time->relative.have_weekday_relative = time->relative.have_special_relative = 0;
 }
 
 #if 0
diff --git a/ext/date/tests/bug52454.phpt b/ext/date/tests/bug52454.phpt
new file mode 100644 (file)
index 0000000..e2a94dc
--- /dev/null
@@ -0,0 +1,22 @@
+--TEST--
+Bug #52454 (Relative dates and getTimestamp increments by one day)
+--FILE--
+<?php
+date_default_timezone_set('Europe/London');
+
+$endOfWeek = new DateTime('2010-07-27 09:46:49');
+$endOfWeek->modify('this week +6 days');
+
+echo $endOfWeek->format('Y-m-d H:i:s')."\n";
+echo $endOfWeek->format('U')."\n";
+
+/* Thar she blows! */
+echo $endOfWeek->getTimestamp()."\n";
+
+echo $endOfWeek->format('Y-m-d H:i:s')."\n";
+?>
+--EXPECT--
+2010-08-01 09:46:49
+1280652409
+1280652409
+2010-08-01 09:46:49