Php 显示(日历)周的第一天和最后一天
在我的数据库中,我有一个连续日期的表。我将所有日期分组为日历周,并将它们显示在CSS中的表格中 现在,我还想在表中显示日历周的第一天和最后一天。 这是我的密码:Php 显示(日历)周的第一天和最后一天,php,sql,date,Php,Sql,Date,在我的数据库中,我有一个连续日期的表。我将所有日期分组为日历周,并将它们显示在CSS中的表格中 现在,我还想在表中显示日历周的第一天和最后一天。 这是我的密码: $statement = $pdo->prepare("SELECT WEEK(Date), Date FROM table GROUP BY WEEK(Date)"); $result = $statement->execute(); $count = 1; while($row
$statement = $pdo->prepare("SELECT WEEK(Date), Date FROM table GROUP BY WEEK(Date)");
$result = $statement->execute();
$count = 1;
while($row = $statement->fetch()) {
echo "<tr>";
echo "<td>".$row['WEEK(Date)']."</td>";
echo "<td>".$row['Date']."</td>";
目前只显示日历周的第一天。
我想复制$row['Date']并添加+6天,但第一个数据集不是一周的第一天。因此,第一个日历周的第一个日期范围是错误的。
有人知道如何解决这个问题吗?请参见此处的测试:
我是新来编码的,所以我不确定我是否理解你的代码是如何工作的。但现在如何显示显示的日历周的最后一天。目前仅显示一个日期,例如2021-05-16。我想这样显示:2021-05-16-2021-05-22。我更新了答案,解释了这些值是什么are@Gandalfthegrey-对不起,出了个错误。我更新了答案并提供了一个链接来说明它是有效的。@Gandalfthegrey你能告诉我$row['WEEKDate']等于多少吗?-给我举一个例子,这样我就可以更新我的例子链接,例如日历周,这是否回答了你的问题?
while($row = $statement->fetch()) {
$thedate = $row['Date'];
$dow = date('w', strtotime($thedate)); // the day of the week of the date - number based - zero is sunday
$dowsun = date('Y-m-d', (strtotime($thedate) - ($dow * 60*60*24))); // first day of that week (sunday)
$dowsat = date('Y-m-d', strtotime($thedate) + ((6-$dow) * 60*60*24)); // last day of that week (saturday)
/* for example:
if $row['WEEK(Date)'] = "2021-06-08" which is a Tuesday
$dowsun = "2021-06-06" which is a Sunday
$dowsat = "2021-06-12" which is a Saturday
with this answer you get the full week that contains the target date
*/
echo "<tr>";
echo "<td>".$row['WEEK(Date)']."</td>";
echo "<td>".$row['Date']."</td>";