我想显示特定月份各个日期的日期。我该怎么做?我只设法输入月份并显示所有日期。
<html>
<body>
<form method="POST">
Day (Eg: Sunday) : <input name="day" required type="text" size="30" style="height:30px;" /> <br/><br/>
Month (Eg: 7) : <input name="month" required type="text" size="30" style="height:30px;" /> <br/><br/>
<input name="Submit" type="submit" value="Log In" style="background-color: #2E9AFE; border: 1px solid #084B8A; padding: 1px 3px; color:#fff; width:60px; height:30px;" />
</form>
<?php
$day=$_POST['day'];
$month=$_POST['month'];
function getDates($y, $m)
{
return new DatePeriod(
new DateTime("first sunday of $y-$m"),
DateInterval::createFromDateString('next sunday'),
new DateTime("last day of $y-$m")
);
}
foreach (getDates(2015, $month) as $getDay) {
echo $getDay->format("l, Y-m-d\n");
}
?>
</body>
</html>
最佳答案
如果您只想给出月份作为输入,则用该月的总天数对其进行迭代
这是 eval
<?php
$Days=array();
$Month = 8;
for($d=1; $d<=31; $d++)
{
$Time=mktime(12, 0, 0, $Month, $d, '2015');
if (date('m', $Time)==$Month)
$Days[]=date('Y-m-d-D', $Time);
}
echo '<pre>';
print_r($Days);
echo '</pre>';
?>
注意:
我直接给出了年份,您可以将其设为动态年份(用户选择)。
月份中的天数直接作为
31
给出,您应该找到天数并给出它。
更新:
因为 OP 只想获取 星期一
日期。
<?php
$Days=array();
$Month = 12;
for($d=1; $d<=31; $d++)
{
$Time=mktime(12, 0, 0, $Month, $d, '2014');
if (date('m', $Time)==$Month)
$Day=date('D', $Time);
if($Day=='Mon')
{
$Days[]=date('Y-m-d-D', $Time);
}
}
echo '<pre>';
print_r($Days);
echo '</pre>';
?>
这是 updated eval
关于php - 如何使用 php 获取月份中的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31427177/