我有一张表格,显示自工作成立以来的时间。
// These are unix epoch times...
$raised = 1360947684;
$now = 1361192598;
$difference = 244914;
$difference
需要排除营业时间以外的任何时间(例如,9-5和周末)。
我怎么能解决这个问题?
答案 0 :(得分:4)
你需要做的就是3个数字。
随着that你完成了。
找一个附加的小班,做那些事情。请注意,没有错误处理,时区设置,夏令时,......
输入:
输出:
可调节常数:
答案 1 :(得分:0)
非常糟糕的主意,但我别无选择,因为我使用的是 php 5.2
<?php
date_default_timezone_set('Asia/Seoul');
$start = 1611564957;
$end = 1611670000;
$res = 0;
for($i = $start; $i<$end; $i++){
$h = date("H", $i);
if($h >= 9 && $h < 18){
//echo date("Y-m-d H:i:s", $i) . "<br>";
$res = $res + 1;
}
}
echo $res;
答案 2 :(得分:-1)
使用DateTime
。
使用UNIX时间这有点荒谬,你必须重新翻译DateTime
。
查找relative formats,您可以在其中指定当天的小时,例如
$date = new DateTime($raised);
$business_start = new DateTime("09:00"); // 9am today
$business_end = new DateTime("17:00"); // 5pm today
剩下的就是让你锻炼身体。
哦,而不是开始/结束,你可以使用值P8H
的{{3}}(“期间8小时”)
直接使用时间戳的问题在于您要为秒的计数器分配上下文。您必须从想要排除的时间开始向后工作,并事先计算出时间戳。您可能想尝试重新设计作业被提升时的存储空间。也许为它设定一个到期时间?