就職してからの時間を示す表があります。
// These are unix epoch times...
$raised = 1360947684;
$now = 1361192598;
$difference = 244914;
$difference
営業時間外(例:9-5および週末)は除外する必要があります。
どうすればこれに取り組むことができますか?
あなたがしなければならないことは数で3です。
これで完了です。
それらのことを行う、添付された小さなクラスを見つけます。エラー処理、タイムゾーン設定、夏時間などがないことに注意してください...
入力:
出力:
調整可能な定数:
非常に悪い考えですが、私は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;
を使用しDateTime
ます。
これにUNIX時間を使用するのは少しばかげているので、文字通りリメイクする必要がありますDateTime
。その日の時間を指定できる相対形式
を検索
します。例:
$date = new DateTime($raised);
$business_start = new DateTime("09:00"); // 9am today
$business_end = new DateTime("17:00"); // 5pm today
残りはあなたが解決するためのものです。
ああ、そして開始/終了の代わりに、おそらく("期間8時間")DateInterval
の値で使用することができますP8H
タイムスタンプを直接使用する場合の問題は、秒のカウンターにコンテキストを割り当てていることです。除外する時刻から逆方向に作業し、事前にタイムスタンプを計算する必要があります。仕事が発生したときのストレージを再設計してみてください。代わりに有効期限を設定しますか?