请有人帮忙!!
我希望日期采用以下格式
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日期函数在会话中设置当前日期时间,如上所述,但问题是jQuery的新Date()函数返回日期格式不是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);
}
});
答案 0 :(得分:1)
如果您想强制GMT+0000
,请对其进行硬编码:
echo date('D M d Y H:i:s \G\M\TO (e)');
就IST
vs 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
。
答案 1 :(得分:1)
PHP中有两种不同的方法可以解决您的问题。只需使用与此相关的日期和时间相关扩展程序:
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)");
解决问题的第二个例子:
$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");
有关更多示例,请查看与时间和日期相关的对象和函数:http://www.php.net/manual/en/book.datetime.php
答案 2 :(得分:0)
嗯,我用最糟糕的方式解决了这个问题
$date = str_replace('Asia/Kolkata+0530', 'GMT+0530', date('D M d Y H:i:s eO (T)'));