PHPでの質問です。

日付の日数計算などを行いたいのですが
そういった関数もしくはサンプルはありますでしょうか?
12/24 - 12/27 = 3
12:34 - 23:45 = 11:11
上記のような形で求めたり
加減できるものがあればおしえていただければと思います。

回答の条件
  • 1人5回まで
  • 登録:2007/01/24 11:27:51
  • 終了:2007/01/24 19:32:24

回答(2件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982007/01/24 11:34:09

id:quocard

ありがとうございます。

参考にさせていただきます。

2007/01/24 19:31:57
id:Mook No.2

Mook回答回数1312ベストアンサー獲得回数3912007/01/24 17:12:11

ポイント60pt

PHP での時間関数は UNIX と同様ある時点からの通算秒を処理する体系なのでなれないと扱いがわかりずらいかもしれません。

関数を使用して、ご希望の仕様を実行した例です。

<?
define( "ONE_DAY_SEC", 24 * 3600 );

// 日付けの差分をとる関数
function dateDiff( $date1, $date2 ) {
    return ( strtotime( "12/27" ) - strtotime( "12/24" ) ) / ONE_DAY_SEC;
}
// 時間の差分をとる関数
function timeDiff( $time1, $time2 ) {
    // strtotime("0:0:0") を足して localtime を補正
    return date( "H:i:s", strtotime( $time1 ) - strtotime( $time2 )  + strtotime("0:0:0"));
}

// 実行サンプル
    $date1 = "12/27";
    $date2 = "12/24";
    print "$date1 - $date1 = ".dateDiff( $date1, $date2 )."<br>\n";

    $time1 = "23:45";
    $time2 = "12:34";
    print "$time1 - $time2 = ".timeDiff( $time1, $time2 );
?>

参考になるでしょうか。

id:quocard

ありがとうございます。

とてもわかりやすいです。

参考にさせていただきます。

2007/01/24 19:31:44
  • id:Mook
    dateDiff 関数の中は
    return ( strtotime( $date1 ) - strtotime( $date2 ) ) / ONE_DAY_SEC;
    の誤りでした。

    失礼しました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません