使用 MYSQL & PHP 将星期几转换为当月的日期
Converting day of week to dates for the current month with MYSQL & PHP
搜索了一段时间,没有找到任何答案。我希望这是一个非常简单的问题。
在我的数据库中,我有一个字符串列 dayOfWeek。
我用它来跟踪每周活动安排在星期几。通常我使用 PHP 将 dayOfWeek 与当前日期匹配并显示正确的事件。
我想做的是显示未来的日历,列出每周重复事件的未来日期。
例如,如果活动在星期二举行,而 2017 年 2 月的星期二分别是 7 日、14 日、21 日和 28 日。我想用 PHP 来显示。
我知道strtotime()是用来做反操作的,从日期中找一天,但是反操作可以很简单吗?
抱歉,如果我的问题措辞不当或缺少信息。
你可以这样做:
// The day of the week.
$dayOfEvent = row['day'];
// Say, you wanted the next 5 weeks.
$numberOfWeeks = 5;
$tempDate = date(U);
$counter = 0;
do{
$tempDate = $tempDate + 86,164;
if(date('D', $tempDay) == 'Tue'){
echo date('l jS \of F Y', $tempDay);
$counter++;
}
}while($counter < $numberOfWeeks);
2017 年 2 月星期二的用例
$n=date('t',strtotime("2017-02-01")); // find no of days in this month
$dates=array();
for ($i=1;$i<=$n;$i++){
$day=date("D",strtotime("2017-02-".$i)); //find weekdays
if($day=="Tue"){
$dates[]="2017-02-".$i;
}
}
print_r($dates);
首先尝试查找本周的日期。之后继续增加7天的倍数。
<?php
// $timestamp = now();
for ($i=0; $i < 7; $i++) {
$days = $i." days";
$t = date('Y-m-d', strtotime($days));
$dayOfTheDay = date("D",strtotime($t));
if ( $dayOfTheDay == day from table )
{
$current_date = $t;
break;
}
}
for ($i=0; $i < 200; $i++) {
in this loop add 7 days to current_date
}
?>
搜索了一段时间,没有找到任何答案。我希望这是一个非常简单的问题。
在我的数据库中,我有一个字符串列 dayOfWeek。
我用它来跟踪每周活动安排在星期几。通常我使用 PHP 将 dayOfWeek 与当前日期匹配并显示正确的事件。
我想做的是显示未来的日历,列出每周重复事件的未来日期。
例如,如果活动在星期二举行,而 2017 年 2 月的星期二分别是 7 日、14 日、21 日和 28 日。我想用 PHP 来显示。
我知道strtotime()是用来做反操作的,从日期中找一天,但是反操作可以很简单吗?
抱歉,如果我的问题措辞不当或缺少信息。
你可以这样做:
// The day of the week.
$dayOfEvent = row['day'];
// Say, you wanted the next 5 weeks.
$numberOfWeeks = 5;
$tempDate = date(U);
$counter = 0;
do{
$tempDate = $tempDate + 86,164;
if(date('D', $tempDay) == 'Tue'){
echo date('l jS \of F Y', $tempDay);
$counter++;
}
}while($counter < $numberOfWeeks);
2017 年 2 月星期二的用例
$n=date('t',strtotime("2017-02-01")); // find no of days in this month
$dates=array();
for ($i=1;$i<=$n;$i++){
$day=date("D",strtotime("2017-02-".$i)); //find weekdays
if($day=="Tue"){
$dates[]="2017-02-".$i;
}
}
print_r($dates);
首先尝试查找本周的日期。之后继续增加7天的倍数。
<?php
// $timestamp = now();
for ($i=0; $i < 7; $i++) {
$days = $i." days";
$t = date('Y-m-d', strtotime($days));
$dayOfTheDay = date("D",strtotime($t));
if ( $dayOfTheDay == day from table )
{
$current_date = $t;
break;
}
}
for ($i=0; $i < 200; $i++) {
in this loop add 7 days to current_date
}
?>