gpt4 book ai didi

php - 在 PHP 中将周名称与周天匹配

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:41 25 4
gpt4 key购买 nike

我正在尝试使用 HTML、CSS 和 PHP 制作日历。到目前为止,一切顺利。但最后,我发现我忘记了月份并不总是从星期一开始。

Image

我该怎么做?我的 PHP 不是那么强,也不知道我会怎么做。

例如本月(12 月),我需要提前添加 5 个“隐藏或禁用”日,以匹配12 月 1 日是星期六。

<!-- Week Days -->
<ul class="weekdays">
<li>Monday</li>
<li>Tuesday</li>
<li>Wednesday</li>
<li>Thursday</li>
<li>Friday</li>
<li>Saturday</li>
<li>Sunday</li>
</ul>
<!-- Days -->
<ul class="days">
<?php

// Make List
$list = array();
$month = date('m', strtotime('-1 month'));
$year = date('Y', strtotime('-1 year'));

for($d = 1; $d <= 31; $d++){
$time = mktime(12, 0, 0, $month, $d, $year);

if(date('m', $time) == $month)
$list[] = date('d', $time);
}
if(is_array($list) || is_object($list)){
foreach($list as $day){

if($day < date('d')){
echo '<li class="passed"><span>' . $day . '</span></li>';
}else if($day == date('d')){
echo '<li class="current"><span>' . $day . '</span></li>';
}else{
echo '<li><span>' . $day . '</span></li>';
}
}
}
?>
</ul>

最佳答案

因此,根据您的示例,您实际上输出的是从星期三开始的 2017 年 11 月的信息。

要实现您要查找的内容,您只需找出星期几,然后将额外的“空”元素添加到您的 $list数组,如果你需要填充月份。

要找出星期几,请使用:

... // Your existing code under Make List
$year = date('Y', strtotime('-1 year'));

$date = '01-' . $month . '-' . $year;
$dayofweek = date('w', strtotime($date));

现在$dayofweek将包含星期几,0 表示星期日,1 表示星期一,依此类推。

接下来,只需将空元素添加到您的列表数组中以填充应该为空的天数:

if ($dayofweek == 0) $dayofweek = 7;
for (; $dayofweek > 1; $dayofweek--)
$list[] = '';

请注意,开始日是星期日,我将其更改为 7 以填充 6 个框。

最后,当你输出你的列表项时,只需添加一个空日<li>对于每个填充日:

... // Your existing code
foreach($list as $day){
if ($day == '')
echo '<li>Empty day</li>';
else if($day < date('d')){
... // Your existing code continues

关于php - 在 PHP 中将周名称与周天匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53824454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com