[英]PHP get yesterdays date unless weekend
我需要获取昨天的日期以显示收市日期。 这仅适用于星期一至星期五,因为周末不开放。 使用这种格式我该怎么做?
<?php
$yesterday = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-1,date("Y")));
echo $yesterday;
?>
这是一种实现方法:
$date= new \DateTime();
$oneDay = new \DateInterval('P1D');
$date->sub($oneDay);
if ('Sunday' === $date->format('l')) {
$date->sub($oneDay);
}
if ('Saturday' === $date->format('l')) {
$date->sub($oneDay);
}
echo $date->format('Y-m-d');
我只是得到今天的日期,减去一天,然后检查是否是星期天。 如果是这样,请减去一天。 然后我在星期六做同样的事情。 最终,您将在最后一个工作日结束。
请记住,这与工作日有所不同,因为星期五可能是假日,市场可能关闭。
您可以使用date('w')
检查当前星期几。 请注意,星期日为0,星期六为6。
利用这些信息,您可以执行以下操作:
$yesterday = strtotime(date('w') == 0 || date('w') == 6 ? 'last friday' : 'yesterday');
echo date('Y-m-d', $yesterday);
基本上,如果是周末,则要求最后一个星期五,否则,则要求PHP昨天。
如果您不喜欢某一行:
$w = date('w');
if($w == 0 || $w == 6)
$yesterday = strtotime('last friday');
else
$yesterday = strtotime('yesterday');
$yesterday = date('Y-m-d', $yesterday);
在我们今天的情况下,即Tuesday, June 14th 2016
, Tuesday, June 14th 2016
它将返回2016-06-13
。
有关日期函数的更多信息: http : //php.net/manual/en/function.date.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.