使用strtotime很容易返回给定月份的第n天,使用strtotime。
date("j, d-M-Y", strtotime("second wednesday 2018-10"));有办法做相反的事吗?例如,如果我要检查今天的日期(2018年10月2日星期二)。我想回到“这个月的第一个星期二”。
发布于 2018-10-02 22:31:04
我不知道PHP库可以执行您的问题。我已经尝试过编写一个函数,它可以实现我认为您想要的功能,您可以修改返回的字符串以获得您想要的输出。
但是下面是一个有用的例子:https://3v4l.org/37BRW
function dateToOrdinalString($date) {
// Convert datestring to timestamp, and prepare day, month, and year names
$timestamp = strtotime($date);
list($day, $month, $year) = explode(' ', date('l F Y', $timestamp));
// Prepare ordinals
$ordinals = ['first', 'second', 'third', 'fourth', 'fifth'];
// Iterate through ordinal values
foreach ($ordinals as $ordinal) {
$string = "{$ordinal} {$day} of {$month} {$year}";
// Compare original and ordinal timestamp for equality
if ($timestamp === strtotime($string)) return $string;
}
return false;
}
echo dateToOrdinalString('2018-12-25');
// fourth Tuesday of December 2018https://stackoverflow.com/questions/52616876
复制相似问题