0

誰でも助けてください!!

日付を次の形式にしたい

Wed Oct 09 2013 14:48:26 GMT+0530 (India Standard Time) //this one is what jquery Date(); returns

しかし、私はそれを取得しています

Wed Oct 09 2013 15:42:38 Asia/Kolkata+0530 (IST)

私は使っている

date('D M d Y H:i:s eO (T)');

問題は、jQuery がGMT+0530で日付を返し、PHP がAsia/Kolkata+0530で日付を返すことです。

編集

私は自分のコードにタイマーを配置しています. PHPの日付以外。以下のコードを見つけてください

PHP コード:

date_default_timezone_set("GMT+0530");
$_SESSION['loggedin'] = date('D M d Y H:i:s eO (T)'); // returns Wed Oct 09 2013 15:42:38 Asia/Kolkata+0530 (IST)

JS コード://JS date function returns time as Wed Oct 09 2013 14:48:26 GMT+0530 (India Standard Time)

$(document).ready(function(){
        if($('#logged').val()!=''){
            var pageVisisted = new Date($_SESSION['loggedin']); 

            setInterval(function() {
                var timeOnSite = new Date() - pageVisisted;

                var secondsTotal = timeOnSite / 1000;
                var hours = Math.floor(secondsTotal / 3600);
                var minutes = Math.floor(secondsTotal / 60) % 3600;
                var seconds = Math.floor(secondsTotal)  % 60;
                var showtime = "Logged in Since ";
                if(hours>0){
                    showtime = showtime + hours + " hours and ";
                }
                showtime = showtime + minutes + " mins";
                document.getElementById('counter').innerHTML = showtime;
            }, 1000);
        }
    });
4

3 に答える 3

1

PHPには、問題を解決できる2つの異なる方法があります。次のように、日付と時刻に関連する拡張子を使用するだけです。

date_default_timezone_set('Europe/Berlin');
$datetime = new DateTime("now");

// result: Thu Oct 24 2013 16:34:14 Europe/Berlin+0200 (CEST) 
echo $datetime->format("D M d Y H:i:s eO (T)");

問題を解決する2番目の例:

$timezone = new DateTimeZone('Asia/Calcutta');
$datetime = new DateTime("now", $timezone);

// result: Thu Oct 24 2013 20:04:14 GMT+0530
echo $datetime->format("D M d Y H:i:s \G\M\TO");

さらなる例については、php の時刻と日付に関連するオブジェクトと関数を参照してください: http://www.php.net/manual/en/book.datetime.php

于 2013-10-24T14:37:42.983 に答える
1

を強制したい場合はGMT+0000、ハードコーディングします。

echo date('D M d Y H:i:s \G\M\TO (e)');

ISTvsに関してIndia Standard Timeは、簡単な方法はないと思います。

$tz_map = [
  'IST' => 'India Standard Time'
];
echo strtr(date('D M d Y H:i:s \G\M\TO (e)'), $tz_map);

T検索/置換マップを実行する場合は、代わりに使用するE方が簡単かもしれません。

于 2013-10-24T11:00:29.387 に答える