以下のコードの出力が負になるのはなぜですか?
コード:
$date=strtotime("2013-04-10 21:31:30");
$now=time();
$diff=$now-$date;
echo $diff;
上記のコードの出力は-17295
ありがとう!
strtotime("2013-04-10 21:31:30")小さいもの ( ) から$date大きいもの ( ) を引くからです。
しかし、タイムゾーンを設定していないか、PHP で適切に設定されていないことが原因である可能性もあります$now。$date
$date のタイムスタンプは未来であり、したがって $now はそれよりも小さいため、負の数が生成されます
13656127081970 年 1 月 1 日からの秒数で、今夜の 21:31:30 が 1970 年 1 月 1 日からの秒数である場合、指定された今夜の時刻 ( ) から1365625890現在 ( ) を引くと、秒になります(つまり、3.6 時間 (別名 3 時間 30 分 ( ish))) 将来的に)13656127081365625890-13182