以下のコードの出力が負になるのはなぜですか?
コード:
$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 はそれよりも小さいため、負の数が生成されます
1365612708
1970 年 1 月 1 日からの秒数で、今夜の 21:31:30 が 1970 年 1 月 1 日からの秒数である場合、指定された今夜の時刻 ( ) から1365625890
現在 ( ) を引くと、秒になります(つまり、3.6 時間 (別名 3 時間 30 分 ( ish))) 将来的に)1365612708
1365625890
-13182