• 締切済み

PHP、UNIXタイムでの日時計算について

お世話になります。 PHP、UNIXタイムでの時間計算についてなのですが、 例えば勤怠での実働時間を計算したい場合で、 日をまたがった時の処理です。 //出勤時間 $uIn_date = strtotime("2009/02/01 16:45:00"); //退勤時間 $uOut_date = strtotime("2009/02/02 10:00:00"); // 退勤時間-出勤時間 $jitsu = ($uOut_date - $uIn_date); $h = (int)($jitsu /3600); $m=(int)($jitsu % 3600 / 60); $kei= sprintf("%02d:%02d", $h, $m); $keiが17:50の値が帰ってきます。 本来であれば、17:15なのですが。 ロジックミスでしょうか。 また、ご指導いただけないでしょうか。 初心者な質問で申し訳御座いませんが、 よろしくお願いいたします。

みんなの回答

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

Win/5.1.4だと17:15になりましたが環境は? echo $uIn_date;// 1233474300 echo $uOut_date;// 1233536400 echo $kei;// 17:15 strtotimeがおかしいとしたら、date('U')で作成してみては?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelで24時間対応の給与計算方法を教えてください

    Excelを使って給与計算をしたいと思っているのですが、うまくいきません。 人数も多く勤務パターンも多いので計算式を作れないでいます。 日付をまたぐ勤務パターンもあるので 24時間で対応できる計算式ができればありがたいです。 ぜひ皆さんのお力をお貸し頂きたくお願いいたします。 セルには A:日付 B:曜日 C:出勤時間(夜勤例18.0で表示) D:退勤時間(夜勤例30.5で表示) E:実働時間(D-Cで求めてます) F:所定労働時間(22時~5時以外で9時間までの実働時間) G:時間外労働時間(22時~5時以外で実働9時間を超えた時間) H:深夜労働時間(22時~5時の実働時間) I:深夜残業時間(22時~5時で実働9時間を超えた時間) ※出勤時間・退勤時間は数値に変換し、退勤時間で24時を越えた時間に関しては+24して基本の勤怠データを作っています。 関数計算式を利用して算出したいのは F:所定労働時間 G:時間外労働時間 H:深夜労働時間 I:深夜時間外労働時間 です。 例えば 日勤:出勤9.0 退勤24.0 実働15時間の場合は F:所定:9h G:残業:4h H:深夜:0h I:深残:2h 夜勤:出勤18.0 退勤31.5(朝の7時半)実働13.5時間の場合は F:所定:4h G:残業:2.5h H:深夜:5h I:深残:2h と計算結果を出したいのです。 給与の支払いに直接関わるのでとても困っています。 よろしくお願いいたします。

  • 深夜勤務ありのタイムシート

    タイムシートに出勤・退社時間をいれると自動的に勤務時間(実働合計)、法定内時間(am5:00~pm10:00)、深夜時間(pm10:00~am5:00) 法定外時間(勤務時間が8時間越えた時間)が計算されるシートを作り たいと思っています。 (例) 1.出勤時間16:00 退社0:00の場合  実働時間 8h 法定内時間 6h 深夜時間 2h 2.出勤時間23:00  退社9:00の場合(休憩1h)  実働時間 9h 法定内時間 3h 深夜時間 5h 法定外時間 1h というようなタイムシートです。 A     B   C   D  E F 出勤   退勤 実働 法定内 法定外 深夜 16:00 0:00 8:00 6:00 0:00 2:00 23:00 9:00 9:00 3:00 1:00 5:00 このような場合計算式はどのように入れればいいのでしょうか? 22:00以降は深夜勤務になるという式は検索して分かったのですが am5:00を超えると法廷内勤務になるとか 分からなくなってきました。長文で説明下手で 申し訳ないですが宜しくお願いします。  

  • 深夜残業時間の算出とIFEROORについて

    勤怠管理表から以下の2つを求める関数を教えてください。 <勤怠管理表フォーマット> 出勤時間/退勤時間/休憩時間/実働時間/深夜残業時間 1.深夜残業時間について 出勤時間/退勤時間/休憩時間/実働時間/深夜残業時間 10:00    23:25    1:00     12:25    1:25 単純に22:00時以降の時間だけを求めたいと思っています。 2.実働時間のIFEROORについて 休暇や欠勤で出勤/退勤の項目が未入力の場合は、 実働時間に「-」を入れたいと思っています。 ただ、通常は、=退勤時間-出勤時間-TIME(1,0,0)の関数が入っていますが 組合せ方が分かりません。 以上、2つのご回答をお願いします。

  • 休憩時間自動計算

    はじめまして、いきなり質問です。 ただ今出勤簿を作ってるんですが・・・ 「出勤-退勤=実働時間」は簡単にできたのですが、その実働時間から条件に合わせて休憩時間を計算するのがうまくいきません・・・。 例えば、 実働時間が3:00以下なら、休憩時間は0:00 実働時間が3:30~4:30は、休憩時間は0:30 実働時間が5:00以上なら、休憩時間は1:00 という風に自動で計算を出せたらと思ってます。 エクセルの知識がないので、IFなどの関数がチンプンカンプンです(^_^;) どなたか、よろしくお願いします。

  • 時給計算をしたいのですがうまくいきません。

    時給計算をしたいのですがうまくいきません。 内容としては出勤時間入力と退勤時間入力すれば自動でその時間の給与が出るようにしたいのです。 A1に時給入力、退勤時間(A2)ー出勤時間(A3)=実働時間(A4)でA5に出したいのですがどのようにしたらいいですか?

  • FLOOR-CEILINGの実働時間をまるめたい

    既出でしたら申し訳ございません。 この度、簡単なタイムシート勤怠表を作成することとなりました。 出勤時間は、繰上げで退出時間は、繰り下げです。 退出時間-出勤時間で実働時間を割り出すのですが画像通り別途セルで指定をし30分でまるめることは、出来ました。 しかしながら計算方法としては、実働時間の部分だけ30分ではなく小数を0.5単位でまるめ時間を表示したいいのです。 数式は、=FLOOR(E10,$M$8)-CEILING(D10,$M$8)と入れています。 更に出勤時間のみ入力するとシャープが出るのも不恰好なので出勤時間、退勤時間を入力するまで空白に表示される様にしたいです。 計算式自体が誤っているのでしょうか。 お手すきの時でもご回答頂けると嬉しく存じます。 宜しくお願い致します。

  • エクセルでタイムカードの時間計算をしたい

    エクセルでタイムカードの管理を行いたいので、 エクセルの表に出勤時間と退勤時間を記入したら 表の右側に残業時間や早出の時間を表示したいと思っています。 画像のC列・D列に出勤時間と退勤時間を入力するだけで E・F・G・H 列をそれぞれ表示させたいと思っています。 H列はわかるので E・F・G列に入る表計算式があれば、それぞれ教えて頂きたいのです。 E列・・9時よりも前の出社がある場合のみ、表示。     30分単位で切り捨て     (例)7:40分出勤の場合・・8時から9時までの計算となり        1時間で、(表示は1:00としたい) F列・・8時間(8:00)で固定 G列・・9時から退勤の時間の合計より9時間分を引いたもの。     (例)出勤6:55 退勤19:23 の場合        9時~19:23分までが対象の時間となり        10時間(23分は切捨て)から9時間を引いた        1時間となる(表示は1:00としたい) 以上、わかりずらいかもしれませんが もし、このような計算ができるのであれば、 よろしくお願いします

  • 勤怠時間の計算について

    勤怠時間の計算についてお願いします。 C2セルに出勤時間、D2セルに昼休み時間、E2セルに退勤時間を入力します。 退勤時間を 30分単位で丸めたいのですが、17:20が退勤時間の基準で それ以降 30分単位で残業がつきます。 退勤時間隣のセルF2セルにE2セルに入れた退勤時間を17:25が17:20と出るようにするには どのようにしたらいいのでしょうか? 17:20を過ぎて17:49までは17:20 17:50になると18:19までは17:50 18:20になると18:49までは18:20 その後は30分単位で続きます どのような関数を、E列に入れたらいいでしょうか? どうぞ宜しくお願いいたします。

  • 合計計算ができないセルがあります

    給料計算表を作成しています。 A1出勤時刻 B1退勤時刻 C1実働時間 D1日給 E1交通費 F1合計  と項目を作り、退勤時刻-始業時刻で実働時間を出し、実働時間*単価で日給を出してます。交通費は日給が表示されれば自動入力されるよう=IF(AND(D1<>""),"交通費500円","")と式を入力しています。 この表の交通費のタテの合計がでません。 SUM(E1:E10)とするとハイフンが表示されてしまいます。 何か良い方法を教えてください

  • 勤務時間の計算

    いつもお世話になっています。 お知恵を貸してください。 勤務シフト別の実働時間を算出する方法を探しています。 B列に出勤時間(仮に9:15) C列に退勤時間(仮に17:00) D列に実働時間 を表したいと思っています。 算出したいのは拘束時間ではなく実働なので、休憩時間を除いて計算したいのですが、勤務シフトにより3種類の休憩時間があります。休憩時間の種類は、 6時間未満・・・0:00 6時間超8時間未満・・・0:45 8時間・・・1:00 となっています。 このような場合、どうすれば計算が可能でしょうか? どなたか教えてください。 よろしくお願いします。