-1

重複の可能性:
HH:MM形式のphpで時間差を取得する

私の時間形式はd/m / Yです-h:ia

出力例は21/10/2012-03:49pmです

このコードを使用して、$fromと$toの差を計算しています

 $to = strtotime("21/10/2012 - 10:30pm");
 $from = strtotime("22/10/2012 - 8:30am");
 $stat = date("H\h:i\m", abs($to - $from));

しかし、私はいつも間違った値を取得しています

上記の例では、16h:00mの出力が得られましたが、10h:00mである必要があります

これを行うためのはるかに効率的で効果的な方法はありますか?

4

2 に答える 2

1

この形式は正しくなく、strtotimeによって認識されません(3番目の注を参照)。タイムゾーンはGMT-8であり、この形式の日付から常に16時間取得されると思われます。

いくつかの計算を行うには、この日付をphpで認識される形式に手動で変換する必要があります

于 2012-10-21T23:21:07.687 に答える
1

ログアウト:

if(function_exists('date_default_timezone_set'))date_default_timezone_set('America / New_York');

$from = $_SESSION['loginT'];
$to = date('m/d/Y  h:i A');
$diff_seconds  = strtotime($to) - strtotime($from);
$stat = floor($diff_seconds/3600).'H:'.floor(($diff_seconds%3600)/60).'M';

ログインから:

$_SESSION['loginT'] = date('m/d/Y  h:i A');

サンプル出力:

21/10/2012 - 06:37pm    21/11/2012 - 06:07pm        23H:30M
于 2012-10-22T01:50:08.077 に答える