ๆพ่ชฒๅพใขใใชใจใจใใ
ๆใฎ็บๆฟ่
ใซใใฃใฆๅฐๅฐใใใฆใใพใฃใๅนปใฎๅไฝใๆพ่ชฒๅพใขใใชใจใจใใ็ฌฌ65535่ฉฑใ็นๅฅๅ
ฌ้ใใใพใใใ
ใใใใฃใใ่ชญใใใ ใ
ใใใฆๆฌๅฑใงๅ่กๆฌใฎ1ๅทปใใ4ๅทปใพใงใ่ฒทใๅ ใใฆ็ทจ้้จใซๅ้ใฎใใฌใใทใฃใผใๆใใใใ ใ
ใใ่จใใใใใจใฏใใ็ตใใฃใใฎใงๅธฐใฃใฆใใใงใใใ
ใงใใใใง็ตใใใจไธๆ่ญฐใชใใจใซไฝๆ ใๆถใใใฆใใพใใฎใงใใใใใไธใซใฏใชใใ้ฉๅฝใซใใพใใงใ็ฝฎใใจใใพใใ
Bug #78827 Wrong timestamp
ใใฆๅ้กใงใใ
ไปฅไธใฎๅบๅใฏใฉใใชใใงใใใใ
$today = strtotime('last Wednesday');
var_dump(
(strtotime('last Wednesday') - $today) / 86400,
(strtotime('last Wednesday + 1 day') - $today) / 86400,
(strtotime('last Wednesday + 2 day') - $today) / 86400,
(strtotime('last Wednesday + 3 day') - $today) / 86400,
(strtotime('last Wednesday + 4 day') - $today) / 86400,
(strtotime('last Wednesday + 5 day') - $today) / 86400,
(strtotime('last Wednesday + 6 day') - $today) / 86400,
(strtotime('last Wednesday + 7 day') - $today) / 86400,
(strtotime('last Wednesday + 8 day') - $today) / 86400,
(strtotime('last Wednesday + 9 day') - $today) / 86400,
);
Expected result
ใพใ$todayใฏ"ๅ
้ฑใฎๆฐดๆๆฅใ0ๆ0ๅ0็ง"ใซใชใใพใใ
ๅฎ่กใใใฎใๆจๆใงใใใฐๆจๆฅใ้ๆใงใใใฐไธๆจๆฅใใใใฆไปๆฅใๆฐดๆใงใใใฐ7ๆฅๅใซใชใใพใใ
ใงใฏvar_dumpใฎ่กใ่ฆใฆใใใพใใใใ
ใพใlast Wednesdayใฎ่กใงใใใใใใฏๅใๅคใๅผใใฆใใ ใใชใฎใงๅฝ็ถ0ใซใชใใพใใ
ๆฌกใซlast Wednesday + 1 dayใงใใใใใใฏ"ๅ
้ฑใฎๆฐดๆๆฅใใ+1ๆฅใ0ๆ0ๅ0็ง"ใจใชใใพใใ
ๅฎ่กใใใฎใๆจๆใงใใใฐไปๆฅใ้ๆใงใใใฐๆจๆฅใฎใใจใงใใใใฆไปๆฅใๆฐดๆใงใใใฐ6ๆฅๅใซใชใใพใใ
ๅใซ1ๆฅใใใใใ ใใชใฎใงใๅฝ็ถใชใใ$todayใจใฎใใใฏๅฟ
ใ1ๆฅใงใใ
ใจใใใใจใง(strtotime('last Wednesday + 1 day') - $today) / 86400ใฎ็ญใใฏใไฝๆๆฅใซๅฎ่กใใใจใใฆใๅฟ
ใ1ใงใใ
ๅใใlast Wednesday + 2 dayใฎ็ญใใฏๅฟ
ใ2ใlast Wednesday + 3 dayใฎ็ญใใฏๅฟ
ใ3ใใจใชใใพใใ
ใใใชใใใใง็ถใใฆใใฃใฆใไธ็ชไธใฎlast Wednesday + 9 dayใฎ็ญใใฏๅฟ
ใ9ใงใใ
ๅฝ็ถใงใใญใ
Actual result
ๆฐดๆๆฅใซๅฎ่กใใใจใใใชใใพใใ
ใชใใงใ ใใ
ใปๆฐดๆๆฅไปฅๅคใซstrtotime('last Wednesday + 6 day')ใ่จ็ฎใใใจใ6ๆฅๅพใฎๅคใซใชใใ
ใปๆฐดๆๆฅไปฅๅคใซstrtotime('last Wednesday + 7 day')ใ่จ็ฎใใใจใ7ๆฅๅพใฎๅคใซใชใใ
ใปๆฐดๆๆฅใซstrtotime('last Wednesday + 6 day')ใ่จ็ฎใใใจใ6ๆฅๅพใฎๅคใซใชใใ
ใปๆฐดๆๆฅใซstrtotime('last Wednesday + 7 day')ใ่จ็ฎใใใจใ14ๆฅๅพใฎๅคใซใชใใ
ๆธๅผใฎๆๆฅใๅฎ่กใใๆๆฅใจๅใๅ ดๅใฎใฟใ7ๆฅไปฅไธใฎๆฅใ่ถณใใจไฝๆ ใๅคใใใใใจใใใใฐใงใใ
ใใพใไฝฟใใชใใใใชๆธใๆนใใใใใใงใใใใซ็นๅฎใฎๆๆฅใซใใ็บ็ใใชใใจใใใใจใงใไธไธใใใ่ธใใงใใพใฃใใๅๅ ใฎ็นๅฎใ้ๅธธใซๅฐ้ฃใซใชใใใใชใใฐใงใใญใ
ใใพใไฝฟใใชใใจใใใฎใฏใคใพใใๆฎ้ใฏlast Wednesday + 7 dayใใใชใใฆnext Wednesdayใฃใฆๆธใใงใใใใจใใใใจใงใใใ
next Wednesday
ใใฎใใฐใใฑใซใฏ่ผใฃใฆใชใใฎใงใใใๅฎใฏnextใงใๅใใใฐใ่ตทใใใพใใ
$today = strtotime('next Wednesday');
var_dump(
(strtotime('next Wednesday') - $today) / 86400,
(strtotime('next Wednesday - 1 day') - $today) / 86400,
(strtotime('next Wednesday - 2 day') - $today) / 86400,
(strtotime('next Wednesday - 3 day') - $today) / 86400,
(strtotime('next Wednesday - 4 day') - $today) / 86400,
(strtotime('next Wednesday - 5 day') - $today) / 86400,
(strtotime('next Wednesday - 6 day') - $today) / 86400,
(strtotime('next Wednesday - 7 day') - $today) / 86400,
(strtotime('next Wednesday - 8 day') - $today) / 86400,
(strtotime('next Wednesday - 9 day') - $today) / 86400,
);
ๆฐดๆๆฅไปฅๅคใซๅฎ่กใใใจ[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]ใงใใใๆฐดๆๆฅใซๅฎ่กใใใจ[0, -8, -9, -10, -11, -12, -13, -14, -15, -16]ใซใชใใพใใ
ใใกใใฏ-1ใง่ตทใใใฎใงใใใๆทฑๅปใงใใญใ
Bug #78496 date_create rolls a day back on year 0000 timestamp
ๅ้กใงใใ
ไปฅไธใฎๅบๅใฏใฉใใชใใงใใใใ
$timestamp = strtotime('0000-02-20 00:00:00 UTC');
echo gmdate('Y-m-d H:i:s', $timestamp);
echo date_create('@' . $timestamp)->format('Y-m-d H:i:s');
Expected result
ๅฝ็ถใงใใใใฉใกใใ"0000-02-20 00:00:00"ใซใชใใพใใใญใ
Actual result
ใชใใงใ ใใ
0ๅนดใซใคใใฆใฏdate_createใๆญฃใใ่จ็ฎใใใชใใจใใใใฐใใใใพใใ
่ฅฟๆฆ0ๅนดใฏๅญๅจใใชใใจใใใใใใณใใ่ใใใฆใใใใงใใใISO 8601ใงใฏ"0000"ๅนดใฏ็ดๅ
ๅ1ๅนดใ"-0001"ๅนดใฏ็ดๅ
ๅ2ๅนดใ่กจใใพใใ
ใใฃใกใใใใใซใใใ
date_create
date_create้ขๆฐใฎใใซใใซใฏใDateTime::__construct() ใฎใจใคใชใขในใใจๆธใใใฆใใใฎใงใใใใใๅใงใใ
var_dump(date_create('2020/01/32')); // false
var_dump(new DateTime('2020/01/32')); // Fatal error: Uncaught Exception: DateTime::__construct(): Failed to parse time string
ๆธๅผใ็่งฃใงใใชใๅ ดๅใdate_createใฏfalseใ่ฟใใพใใDateTime::__construct()ใฏไพๅคใ่ตทใใใพใใ
Bug #78452 diff makes wrong in hour for Asia/Tehran
ใใฆๅ้กใงใใ
ไปฅไธใฎๅบๅใฏใฉใใชใใงใใใใ
date_default_timezone_set('Asia/Tokyo');
$date1 = new \DateTime('2019-11-05 11:00:00');
$date2 = new \DateTime('2019-11-01 12:00:00');
echo $date1->diff($date2)->format('%H');
date_default_timezone_set('America/New_York');
$date1 = new \DateTime('2019-11-05 11:00:00');
$date2 = new \DateTime('2019-11-01 12:00:00');
echo $date1->diff($date2)->format('%H');
Expected result
ไปๅๅบๅใใฆใใใฎใฏๆ้ใฎๅทฎๅใชใฎใงใๆใ้ใใใจใฏๅฝฑ้ฟใใพใใใ
ๆฑไบฌใฏๅฝ็ถใงใใใใฎใพใพ23ใงใใญใ
ใใฅใผใจใผใฏใฏๅคๆ้ๅใๆฟใใๆใใฎใงใฉใใใ่จ็ฎใซใชใใฎใใใใใใใชใใฎใงใใใๆ้ๅทฎใๆฑใใๅ ดๅใฏ23ใงใใใฎใงใใใญ๏ผ
Actual result
ๅคๆ้ใฎๅใๆฟใใใพใใใจไฝๆ
ใใใคใในใซใชใใใจใใใใพใใ
ๆญฃ่งฃใใฉใฎๅคใใฏใใใใพใใใใๅฐใชใใจใ-1ใฏๆใใใซ้้ใใงใใญใ
ๅคๆ้ใ่ใใฆใชใๅ้ใใใฐๅ ฑๅใฏใใใจใใใใใฎใงใใใใใฎใใฑใใใซใคใใฆใฏ้้ใใชใใใฐใงใใ
Bug #78504 Add warnings to DateTime object with incompatible timezone info
ใใฆๅ้กใงใใ
ไปฅไธใฎๅบๅใฏใฉใใชใใงใใใใ
$tz = new DateTimeZone('Asia/Tokyo');
$ts = strtotime('2020-01-1 00:00:00');
$dt1 = DateTime::CreateFromFormat("YmdHis", date('YmdHis', $ts), $tz);
$dt2 = DateTime::CreateFromFormat("U", date('U', $ts), $tz);
var_dump(
$dt1->format("Y-m-d H:i:s"),
$dt2->format("Y-m-d H:i:s"),
);
Expected result
ๅฝ็ถใไธกๆนใจใ2020-01-01 00:00:00ใงใใญใ
Actual result
ๅ่
ใฏ2020-01-01 00:00:00ใๅพ่
ใฏ2019-12-31 15:00:00ใงใใ
ใชใใงใ ใใ
ๅฎใฏใใฉใกใผใฟใใฟใคใ ในใฟใณใใงๆธกใใๅ ดๅใๅผๆฐใฎใฟใคใ ใพใผใณใฏ็ก่ฆใใใฆUTCๆฑใใใใพใใ
ใใใฏใใใฅใขใซใซๆธใใใฆใใใฎใงใใใใใพใใซใใใใซใใใงใใญใ
ๅพใฃใฆใใใฎๆๅใฏPHP8ใ9ใใใใงๅคๆดใซใชใๅฏ่ฝๆงใใใใพใใ
and
ใใฆๅ้กใงใใ
ไปฅไธใฎๅบๅใฏใฉใใชใใงใใใใ
$diff = DateInterval::createFromDateString('1 year and 2 months');
Expected result
1ๅนด2ใถๆๅทฎใฎDateIntervalใชใใธใงใฏใใ
Actual result
PHP7.2.17ไปฅ้ใใใใฆ7.3.4ไปฅ้ใจใฉใผใซใชใใพใใ
ChangeLogใซใฏๅ
จใๆธใใใฆใใพใใใ
ใใใใ50020ใฎใใฐไฟฎๆญฃใจไธ็ทใซๅ
ฅใ่พผใใ ใใฎใงใฏใชใใใจๆใใพใใ็ขบ่จผใฏใใใพใใใ
ไฝใๅ้กใใฃใฆๅใซ'and'ใจใใๆๅญๅใซๅฏพๅฟใใฆใชใใจใใใใจใชใฎใงใ'1 year 2 months'ใซใใใฐๅ้กใชใๅไฝใใพใใ
ๅ
ใ
ๅฏพๅฟใใฆใชใใฃใใฎใซใใพใใพๅใใฆใใใจใใใใคใชใฎใงใไฝฟใๆนใๆชใใจใใใฐใใใชใฎใงใใใใงใใตใคใฌใณใใซๆๅใๅคใใใจใณใใฃใจใชใใพใใญใ
ใพใจใ
ๅ
ฌ้ใใใใจใ่จใฃใฆใใใฉใ็ถใใ่ชญใฟใใใฆใฉใใใใใใชใใฆๆๆ
ขใงใใชใใฃใใใๆใใฆใใใฃใใใงใใใฉใญใ
ใใใฟใใชใใฉใใฉใไพ้ ผใใใฎใ ใ




Comments
Let's comment your feelings that are more than good