From 63bcfa04e8fb35fbac3eaf4dfb97fb445d47d1b9 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Mon, 11 Dec 2006 21:08:44 +0000 Subject: [PATCH] MFB: Fixed bug #39782 (setTime() on a DateTime constructed with a Weekday yields incorrect results). --- ext/date/php_date.c | 1 + ext/date/tests/bug39782.phpt | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 ext/date/tests/bug39782.phpt 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 -- 2.40.0