php - 如何在 PHP 中将日期和时间字符串转换为当前时区日期

标签 php mysql date

$dt = '2013-03-15 02:15:33';
$dateTimeZone = new DateTimeZone('Asia/Karachi');
$dateTime = new DateTime($dt, $dateTimeZone);
$year = $dateTime->format('Y');
$month = $dateTime->format('m');
$day = $dateTime->format('d');
$hours = $dateTime->format('H');
$minutes = $dateTime->format('i');
$seconds = $dateTime->format('s');
$message_time_ago = $year . '-' . $month . '-' . $day . ' ' . $hours . ':' . $minutes. ':' . $seconds;

但它返回相同的“2013-03-15 02:15:33”,但它应该是“2013-03-15 11:15:33”。 谁能帮我解决这个问题吗?

最佳答案

这就是你的做法:

$date = new DateTime('2013-03-15 02:15:33');
$date->setTimezone(new DateTimeZone('Asia/Karachi'));

echo $date->format('Y-m-d H:i:s'); // 2013-03-15 07:15:33

关于php - 如何在 PHP 中将日期和时间字符串转换为当前时区日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23602613/

相关文章:

php - 连接服务器上的 PDO 时发生错误

php - 宠物数据库设计

为 XMLReader 安装 php-xml 时,php54 与 php53 常见冲突

java - 在java中找到两个(Joda Time)DateTime对象之间的确切差异

r - 选择具有连续年度季度的组

php - JavaScript 中的输入元素

Mysql计数结果在 "where"子句中

mysql - 如何将 SQL Server 游标转换为 MySQL 等效项

javascript - 从数据库中随机调用图库图像,间隔重叠

php - 优雅的方式来计算两个日期之间的月数?