From: Ilia Alshanetsky Date: Mon, 11 Dec 2006 21:08:44 +0000 (+0000) Subject: MFB: Fixed bug #39782 (setTime() on a DateTime constructed with a Weekday X-Git-Tag: RELEASE_1_0_0RC1~723 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=63bcfa04e8fb35fbac3eaf4dfb97fb445d47d1b9;p=php MFB: Fixed bug #39782 (setTime() on a DateTime constructed with a Weekday yields incorrect results). --- diff --git a/ext/date/php_date.c b/ext/date/php_date.c index a892612407..cfbe553cf1 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -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_update_ts(dateobj->time, tzi); + dateobj->time->have_weekday_relative = dateobj->time->have_relative = 0; if (now->tz_info != tzi) { timelib_tzinfo_dtor(now->tz_info); } diff --git a/ext/date/tests/bug39782.phpt b/ext/date/tests/bug39782.phpt new file mode 100644 index 0000000000..99abdd7bc8 --- /dev/null +++ b/ext/date/tests/bug39782.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #39782 (setTime() on a DateTime constructed with a Weekday yields incorrect results) +--FILE-- +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 \ No newline at end of file