0

タイムスタンプの時間 (時間と分) を新しい値で更新しようとしていますが、何らかの理由で -19 時間で返されます。なぜですか? 私はそれを間違った方法でやっていますか?

$hour_created = $_REQUEST['hour_created'];     // ex.: 13
$minute_created = $_REQUEST['minute_created']; // ex.: 00

$updated_timestamp = strtotime("$hour_created:$minute_created", $_REQUEST['_timestamp']);
4

2 に答える 2

1

使用する:

$updated_timestamp = strtotime(date("d/m/y", $_REQUEST['_timestamp'])." $hour_created:$minute_created");

これが機能しない場合は、サーバーで逆の日付順 (米国) が必要になる場合があります。

$updated_timestamp = strtotime(date("m/d/y", $_REQUEST['_timestamp'])." $hour_created:$minute_created");

時間と分を置き換えて日付を残したい場合。

編集:申し訳ありませんが、私の間違いです。修正しました。

于 2012-07-04T17:16:53.527 に答える
0

同僚の助けを借りて、私はこれをやり遂げました:

$day_value = 60 * 60 * 24;
$offset    = intval($_REQUEST['_offset']) * 60;

// Article creation date
$time_created = ($_REQUEST['hour_created'] * 60 * 60) + ($_REQUEST['minute_created'] * 60);
$date_created = substr($_REQUEST['_timestamp'], 0, -3) - $offset;
$date_created = floor($date_created / $day_value) * $day_value + $time_created + $offset;

Offset は JavaScript 関数の結果ですnew Date().getTimezoneOffset(); 。Timestamp は次の結果です。$.datepicker({altFormat: '@'});

于 2012-07-05T10:15:49.237 に答える