php - 在 PHP 中获取日期和数字工作日

标签 php date datetime dayofweek weekday

我正在用 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>";

输出

Today: 2016-11-11 weekday: 5
Tomorrow: 2016-11-12 weekday: 4

这是不对的,因为明天的工作日应该是 6 而不是 4。

有人可以帮帮我吗?

最佳答案

使用 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";

输出

Today: 2016-11-11 weekday 5
Tomorrow: 2016-11-12 weekday 6

但是日期数字略有不同,N 代表工作日数字,如您所见,星期五(今天)显示为 5。星期一为 1,星期日为 7。

如果你看下面的例子,你应该得到相同的结果

echo date( 'N' );

输出

5

日期格式 - http://php.net/manual/en/function.date.php

关于php - 在 PHP 中获取日期和数字工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40543900/

相关文章:

php - fatal error : Call to a member function query() on a non-object expressionengine

php - Ajax 自动刷新和 JavaScript

Java日期格式?

javascript - 从本地时区转换日期?

sql - 计算每天两个日期时间字段之间的平均时差

php - 为什么 PHP date() 函数会给出不一致的时间?突然关闭 2 小时

javascript - 正则表达式替换 JS 文件中的部分字符串

c# - 将 Stack Overflow 中的非标准日期字符串解析为 .NET DateTime

excel - 忽略日期时间单元格中的时间值 - MS Excel

php - 检查字符串是否包含 "\"