我试着写一个星期三的日历,日历应该只在表格中显示星期三,它应该能够在日历中写一个会议
我试图改变:
strotime('-1 month')
但是它没有显示日历。
function getMittwoch($y, $m)
{
return new DatePeriod(
new DateTime("first wednesday of $y-$m"),
DateInterval::createFromDateString('next wednesday'),
new DateTime("last day of $y-$m")
);
}
所以去年,它运作了,但现在没有。日历仅显示2月至12月,但1月份缺失。
for( $monat=date('m', strtotime('0 month'))+1; $monat<13; $monat++ ){
foreach (getMittwoch(date('Y'), $monat) as $mittwoch) {
$tagWert = $mittwoch->format("dmY");
2017年我应该改变什么?
答案 0 :(得分:0)
我的脚本将在给定日期找到所有星期三:
function getWednesday($y,$m){
$inmonth=date('t', mktime(0, 0, 0, $m, 1, $y)); ;
for($i=0;$i<$inmonth;$i++){
$d=$i+1;
$timestamp = strtotime("$y-$m-$d");
$day = date('w', $timestamp);
if($day==3){
echo "Wednesday found - $y-$m-$d<br>";
}
}
}
getWednesday(2017,1);
输出是:
Wednesday found - 2017-1-4
Wednesday found - 2017-1-11
Wednesday found - 2017-1-18
Wednesday found - 2017-1-25
当然,你可以用其他东西替换回声。 我希望它会对你有所帮助。
的Ondrej
答案 1 :(得分:0)
显示下个月周三的下一个变体:
function getWednesday($y,$m,$next=1){
for ($x=0; $x < $next; $x++) {
$inmonth=date('t', mktime(0, 0, 0, $m, 1, $y)); ;
for($i=0;$i<$inmonth;$i++){
$d=$i+1;
$timestamp = strtotime("$y-$m-$d");
$day = date('w', $timestamp);
if($day==3){
echo "Wednesday found - $y-$m-$d<br>";
}
}
if($m==12){
$y++;
$m=0;
}
$m++;
}
}
getWednesday($ Y,$ M,$下)
答案 2 :(得分:0)
抱歉,但我没有上场。我想将它实现到我的脚本中。 所以我的日历应该总是显示下一个六个月的下周三包括2018年。并且应该从当天开始。
for( $monat=date('m', strtotime('month')); $monat<7; $monat++ ){
foreach (getMittwoch(date('Y'), $monat) as $mittwoch) {
$tagWert = $mittwoch->format("dmY");
echo "<tr>";
echo "<td>";
echo "<input type=\"radio\" name=\"tag\" value=\"$tagWert\" />". $mittwoch->format("l, d.m.Y");
echo "</td>";
echo "<td>";
echo getVeranstaltung($tagWert)['veranstaltung'];
echo "</td>";
echo "</tr>";
}
}
&#13;