$year = ...; // this is your year
$month = ...; // this is your month
$month = ($month < 10 ? '0' . $month : $month);
$start = new DateTime($year . '-' . $month . '-01 00:00:00');
$end = $start->modify('+1 month -1 day -1 minute'); //perhaps this need 3 "->modify"
echo $start->format('U');
echo $end->format('U');
$date = new \DateTime('now');//Current time
$date->modify("-1 month");//get last month
$startDate = $date->format('Y-m-01');
$endDate = $date->format('Y-m-t');
8条答案
按热度按时间ttvkxqim1#
这需要PHP〉5.2,并且需要调整"分钟"部分
(not测试)
参考:http://www.php.net/manual/en/class.datetime.php
iugsix8n2#
imzjd6km3#
最好的方法是这样做。
$第一天=日期(“m-01-Y h:i:s”,起始时间(“-1个月”));
$最后一天=日期(“月-日-时:分:秒”,起始时间(“-1个月”));
uqdfh47h4#
试试这个
dw1jzc5e5#
您可以使用
mktime
和date
:这是针对当前月份的。如果你想让它适用于任何月份,你必须相应地修改月份和日期参数。
如果你想每个月都生成一次,你可以循环:
DEMO
b4wnujal6#
使用PHP 5.3,您可以执行以下操作
在PHP 5.2中
注意:* 正如AllThecode在下面的注解中指出的,下一个例子只有在先执行
$oFirst
部分的情况下才能工作,如果将+1 month
加到new DateTime
上,结果将在一个月的最后一天多跳一个月(从php 5.5.9开始)。*2izufjch7#
使用mktime从小时/月/天/...值生成时间戳,使用cal_days_in_month获取一个月的天数:
eaf3rand8#
我觉得这样更好
是: