Edo*_*rdo 6 php datetime date weekday dayofweek
我正在用 PHP 开发一个应用程序,我需要使用日期和工作日的数字表示。
我尝试了以下方法:
$today = date("Y-m-d");
$number = date('N', strtotime($today));
echo "Today: " . $today . " weekday: " . $number . "<br>";
$today = strtotime($today);
$tomorrow = strtotime($today);
$tomorrow = strtotime("+1 day", $today);
$number2 = date('N', strtotime($tomorrow));
echo "Tomorrow: " . date('Y-m-d', $tomorrow) . " weekday: " . $number2 . "<br>";
Run Code Online (Sandbox Code Playgroud)
Today: 2016-11-11 weekday: 5
Tomorrow: 2016-11-12 weekday: 4
Run Code Online (Sandbox Code Playgroud)
这是不对的,因为明天的工作日应该是 6 而不是 4。
有人可以帮我吗?
小智 8
使用DateTime将提供一个简单的解决方案
<?php
$date = new DateTime();
echo 'Today: '.$date->format( 'Y-m-d' ) .' weekday '. $date->format( 'N' )."\n";
$date->modify( '+1 days' );
echo 'Tomorrow: '.$date->format( 'Y-m-d' ) .' weekday '. $date->format( 'N' )."\n";
Run Code Online (Sandbox Code Playgroud)
输出
Today: 2016-11-11 weekday 5
Tomorrow: 2016-11-12 weekday 6
Run Code Online (Sandbox Code Playgroud)
但是天数略有不同,N 代表工作日数,如您所见,星期五(今天)显示为 5。星期一为 1,星期日为 7。
如果你看下面的例子,你应该得到相同的结果
echo date( 'N' );
Run Code Online (Sandbox Code Playgroud)
输出
5
Run Code Online (Sandbox Code Playgroud)
日期格式 - http://php.net/manual/en/function.date.php
您在代码中几乎没有错误,这是有效的:
$today = date("Y-m-d");
$number = date('N', strtotime($today));
echo "Today: " . $today . " weekday: " . $number . "<br>";
$today = strtotime($today);
$tomorrow = strtotime($today);
$tomorrow = strtotime("+1 day", $today);
$number2 = date('N', $tomorrow);
echo "Tomorrow: " . date('Y-m-d', $tomorrow) . " weekday: " . $number2 . "<br>";
Run Code Online (Sandbox Code Playgroud)