【发布时间】:2012-03-02 15:40:12
【问题描述】:
有没有比以下方法更好的方法来返回特定月/年第一天的日期?
$month = date('m');
$year = date('Y');
$from = date('Y-m-d', mktime(0, 0, 0, $month, 1, $year));
【问题讨论】:
-
更好是什么意思?你所拥有的似乎很好。
有没有比以下方法更好的方法来返回特定月/年第一天的日期?
$month = date('m');
$year = date('Y');
$from = date('Y-m-d', mktime(0, 0, 0, $month, 1, $year));
【问题讨论】:
这在计算上并不完全优雅,但我喜欢它,因为它可读性强:
strtotime("first day of this month");
【讨论】:
$date = new DateTime('first day of this month'); $date->setTime(0, 0, 0);
为什么这么复杂?
date("Y-m-01")
这会很好用;)
(别担心,在意识到我可以做到这一点之前,我浪费了一个小时与strtotime 纠缠不清!)
【讨论】:
date("Y-m-01") 将完美运行;
我使用相同的技术来查找从当月第一天到当天的记录。
查看以下代码行:
if(!isset($FromDate))
$FromDate=date('Y-m-01'); //date with current month's first day
if(!isset($ToDate))
$ToDate=date('Y-m-d'); /////current date
我希望它能按要求工作。
【讨论】:
这对我来说似乎是正确的做法。不过你可能想把它变成一个函数。
【讨论】: