php 字符串内美国时间转为中国时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 字符串内美国时间转为中国时间相关的知识,希望对你有一定的参考价值。

count=2&dpxid=DP_508368&timevalue=Sun Jan 18 01:39:21 CST 2015;30.0&dpxid=DP_981391&timevalue=Sun Jan 18 01:39:20 CST 2015;24.0

如何把上面一串内的字符串通过拆分吧时间转换为中国时间后再组装到一起

参考技术A //原始字符串
$pre='count=2&dpxid=DP_508368&timevalue=Sun Jan 18 01:39:21 CST 2015;30.0&dpxid=DP_981391&timevalue=Sun Jan 18 01:39:20 CST 2015;24.0';
//定义回调函数
function u_ctime($matches)
     $utime= strtotime($matches[1]);//转换为时间戳
     $ctime=$utime+13*60*60;        //西五区变为东八区
     $ct_str=date("D M d s:i:h T Y",$ctime); //转换为字符串
 return 'value='.$ct_str.';' ;

$str=preg_replace_callback('|value=([\\w :]*);|','u_ctime',$pre);

参考技术B <?php
date_default_timezone_set("prc");
$str='count=2&dpxid=DP_508368&timevalue=Sun Jan 18 01:39:21 CST 2015;30.0&dpxid=DP_981391&timevalue=Sun Jan 18 01:39:20 CST 2015;24.0';
$arr=explode('timevalue=',$str);
$substr1=$arr[0];
$brr=explode(';',$arr[1]);
$substr2=date("Y-m-d H:i:s",strtotime($brr[0]));
$crr=explode(';',$arr[2]);
$substr3=date("Y-m-d H:i:s",strtotime($crr[0]));
$strNew=$substr1.'timevalue='.$substr2.';'.$brr[1].'timevalue='.$substr3.';'.$crr[1];
echo $str."<br>";
echo $strNew;
?>
参考技术C $str = 'Sun Jan 18 01:39:21 CST 2015';
echo date('Y-m-d H:i:s', strtotime($str));

不能加后面分号那部分,如:“;30.0”,暂时不清楚这部分表示什么意思

以上是关于php 字符串内美国时间转为中国时间的主要内容,如果未能解决你的问题,请参考以下文章

php 怎么将指定日期转换为时间戳

php怎么将指定日期转换为时间戳

php怎么将指定日期转换为时间戳?

php怎么将指定日期转换为时间戳

PHP——JSON

PHP——JSON