Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php代码未正确地将gmt转换为ist_Php - Fatal编程技术网

php代码未正确地将gmt转换为ist

php代码未正确地将gmt转换为ist,php,Php,这是一个很小的问题,但我无法解决它 我希望通过php将gmt转换为ist,为此我有以下代码 $timestamp = strtotime('Tue, 17 Dec 2013 07:23:56 +0000'); date_default_timezone_set("Asia/Calcutta"); echo date('r', $timestamp); 代码工作正常,现在我有了一个数组,通过它我获取了这种格式的时间 10-Dec-2015 10:45:02 +0000 我已存储在变量$mail

这是一个很小的问题,但我无法解决它

我希望通过php将gmt转换为ist,为此我有以下代码

$timestamp = strtotime('Tue, 17 Dec 2013 07:23:56 +0000');
date_default_timezone_set("Asia/Calcutta");
echo date('r', $timestamp);
代码工作正常,现在我有了一个数组,通过它我获取了这种格式的时间

10-Dec-2015 10:45:02 +0000
我已存储在变量$maildate中

现在,当我在代码中像这样放置这个变量时

$timestamp = strtotime('$maildate');
date_default_timezone_set("Asia/Calcutta");
echo date('r', $timestamp);
我得到这个日期和时间
1970年1月1日星期四05:30:00+0530


谁能告诉我哪里出了问题吗

你需要去掉引号并从中更新代码

$timestamp = strtotime('$maildate');
                      ^^         ^^
进入

相反,您可以像下面这样使用
DateTime

$date = DateTime::createFromFormat('d-M-Y H:i:s P',$var);
$date->setTimeZone(new DateTimeZone('Asia/Kolkata'));
echo $date->format('r');
看看这个

$timestamp = strtotime($maildate);
date_default_timezone_set("Asia/Calcutta");
echo date('r', $timestamp);

“$maildate”
是文本字符串
$maildate
。去掉引号。@Jon Stirling在删除引号时,我得到了一个语法错误“我得到了一个语法错误”-离开DateTime示例也会很好。日期时间++
$timestamp = strtotime($maildate);
date_default_timezone_set("Asia/Calcutta");
echo date('r', $timestamp);