mirror of
https://github.com/php/php-src.git
synced 2025-08-19 08:49:28 +02:00
MFB: Fixed bug #39782 (setTime() on a DateTime constructed with a Weekday
yields incorrect results).
This commit is contained in:
parent
c151b4a37f
commit
63bcfa04e8
2 changed files with 20 additions and 0 deletions
|
@ -1771,6 +1771,7 @@ static void date_initialize(php_date_obj *dateobj, /*const*/ char *time_str, int
|
||||||
timelib_fill_holes(dateobj->time, now, 0);
|
timelib_fill_holes(dateobj->time, now, 0);
|
||||||
timelib_update_ts(dateobj->time, tzi);
|
timelib_update_ts(dateobj->time, tzi);
|
||||||
|
|
||||||
|
dateobj->time->have_weekday_relative = dateobj->time->have_relative = 0;
|
||||||
if (now->tz_info != tzi) {
|
if (now->tz_info != tzi) {
|
||||||
timelib_tzinfo_dtor(now->tz_info);
|
timelib_tzinfo_dtor(now->tz_info);
|
||||||
}
|
}
|
||||||
|
|
19
ext/date/tests/bug39782.phpt
Normal file
19
ext/date/tests/bug39782.phpt
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
--TEST--
|
||||||
|
Bug #39782 (setTime() on a DateTime constructed with a Weekday yields incorrect results)
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
date_default_timezone_set("GMT");
|
||||||
|
|
||||||
|
$dttTest = new DateTime('Dec 10 2006 Next Wednesday');
|
||||||
|
echo $dttTest->format('D M j Y - H:i:s') . "\n";
|
||||||
|
|
||||||
|
$dttTest->setTime(12, 0, 0);
|
||||||
|
echo $dttTest->format('D M j Y - H:i:s') . "\n";
|
||||||
|
|
||||||
|
$dttTest->setTime(12, 0, 0);
|
||||||
|
echo $dttTest->format('D M j Y - H:i:s') . "\n";
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
Wed Dec 13 2006 - 00:00:00
|
||||||
|
Wed Dec 13 2006 - 12:00:00
|
||||||
|
Wed Dec 13 2006 - 12:00:00
|
Loading…
Add table
Add a link
Reference in a new issue