我需要显示上周六20.00.01至下周六20.00.00的每周销售报告
我使用以下代码获得了当天的上周六和下周六的信息。
<?php
$dt_week_start_date = date('Y-m-d 20:00:01',strtotime("last Saturday"));
$dt_week_end_date = date('Y-m-d 20:00:00',strtotime("next Saturday"));
?>
例如:现在服务器日期时间是星期五,2014-08-15 05:43:49然后下面的代码给出了正确的结果。
<?php print(date("d-M-Y H:i:s",strtotime($dt_week_start_date)));?> TO
<?php print(date("d-M-Y H:i:s",strtotime($dt_week_end_date)));?>
Output: 09-Aug-2014 20:00:01 TO 16-Aug-2014 20:00:00
现在例如:现在服务器日期时间是星期六,2014-08-16 05:43:49然后下面的代码给我错误的结果。
<?php print(date("d-M-Y H:i:s",strtotime($dt_week_start_date)));?> TO
<?php print(date("d-M-Y H:i:s",strtotime($dt_week_end_date)));?>
Output: 09-Aug-2014 20:00:01 TO 23-Aug-2014 20:00:00
所以现在是星期六,2014-08-16 05:43:49所以它比$ dt_week_end_date变量的值小(2014-08-16 20:00:00)所以它应显示2014年8月16日20:00:00而不是2014年8月23日20:00:00。
请告诉我我的代码有什么问题?提前谢谢。
答案 0 :(得分:1)
试试这个
<?php
$today = date('d-M-Y');
$today_time = strtotime($today);
$dt_week_start_time = strtotime("last saturday")+((20*3600)+ 1);
$dt_week_start_date = date('d-M-Y G:i:s', $dt_week_start_time);
$dt_week_end_time = $dt_week_start_time + (7*3600*24) - 1;
$dt_week_end_date = date('d-M-Y G:i:s', $dt_week_end_time);
echo "Today : ".$today;
echo "\n";
echo "Last Saturday : ".$dt_week_start_date;
echo "\n";
echo "Next Saturday : ".$dt_week_end_date;
?>
<强>输出:强>
Today : 16-Aug-2014
Last Saturday : 09-Aug-2014 20:00:01
Next Saturday : 16-Aug-2014 20:00:00
<强> Demo 强>
答案 1 :(得分:0)
尝试以下内容
$dt_week_start_date = strtotime("last Saturday");
$from = date('d-M-Y 20:00:01', $dt_week_start_date);
$to = date('d-M-Y 20:00:01', $dt_week_start_date + (7 *24 * 60 * 60));
echo $from.' To '.$to;
<强>输出:强>
09-Aug-2014 20:00:01 To 16-Aug-2014 20:00:01