0

時間形式に問題があります。このようなコードがあります

        //in the core file it set to UTC
        debug(date_default_timezone_get());
        $currentTime = time(); //UTC

        //CurrentTime in UTC
        debug(date('Y-m-d H:i:s',$currentTime));

        $timepst = CakeTime::format('Y-m-d H:i:s', $currentTime, null, 'PST');
        $timejst = CakeTime::format('Y-m-d H:i:s', $currentTime, null, 'JST');

        //I'm trying to convert back the time from PST to UTC using PST time
        $timeutc = CakeTime::format('Y-m-d H:i:s', strtotime($timepst), null, 'UTC');

        debug('PST : ' . $timepst);
        debug('JST : ' . $timejst);
        debug('UTC : ' . $timeutc);

その結果は

'UTC'

'2012-10-05 19:44:50'

'PST : 2012-10-05 12:44:50'

'JST : 2012-10-06 04:44:50'

'UTC : 2012-10-05 12:44:50'

私の質問は、PST 時間を使用して UTC に戻すことができないのはなぜですか? ヘルプはありますか?

基本的に、ユーザーが自分のタイムゾーン (日付入力用) に基づいて記事を保存できるようにしたいのですが、データベースに保存するには UTC に戻す必要があります。

4

1 に答える 1

0

変換は、CakeTime::format() に param として渡されたサーバーのタイムゾーンとユーザーのタイムゾーンの時差に基づいて行われます。CakeTime::format() への 3 回目の呼び出しのサンプル コードでは、ユーザーのタイムゾーンを UTC として渡し、サーバーのタイムゾーンも UTC であるため、時間に変更はありません。

于 2012-10-05T20:01:35.860 に答える