1

次のようにmysqlからタイムスタンプを取得します

2012-04-12 16:42:33

PHPで時間を減算するにはどうすればよいですか、または基本的にタイムゾーン(-3時間)を変更するにはどうすればよいですか?

4

3 に答える 3

1
strtotime('-3 hours', strtotime('2012-04-12 16:42:33'));

http://php.net/manual/en/function.strtotime.php

タイムゾーンの変更は、技術的にはもう少しトリッキーです。タイムスタンプがフォーマットされる方法では、元のタイムゾーンがどのタイムゾーンにあるかわからないためです。したがって、このコードで十分です。

于 2012-04-13T17:42:25.353 に答える
1

PHP のDateTimeを使用する必要があります。サポートされている形式を確認してから、新しいオブジェクトを作成できます。

$date=new DateTime("2012-04-12 16:42:33");

このオブジェクトは、タイムゾーンの変更やその他の変換もサポートしています。新しいタイムゾーンの設定 (PHP マニュアルから):

$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
于 2012-04-13T17:45:34.430 に答える
0
$hours = 3;

$time_old = "2012-04-12 16:42:33";

$time_new = strtotime($time_old);

$time_new = $time_new - (60 * $hours);

date($time_new);

これにより、変更することで時間を動的に変更できます$hours

于 2012-04-13T17:49:01.470 に答える