我在 mysql 数据库中有一个时间戳。我想将其从服务器时间转换为本地时间,然后以本地语言显示。
这可以转换时区并以英语显示:(我有选择本地时区和语言的功能。但在下面我只是发布代码,就好像时区和语言字段是硬编码的一样。)
date_default_timezone_set('Asia/Kuala_Lumpur');
$my_time = $row['timestamp'];
$my_time = new DateTime($my_time);
$my_time->setTimezone(new DateTimeZone('Europe/Rome'));
echo $my_time->format("F Y");
例如,它正确显示“2013 年 8 月”。
但我无法让它转换时区,然后以当地语言显示。我尝试了不同的方法。有时我会得到 unix 时间,有些时候我会得到短日期。我纠结于试图解决这个问题。
我得到的最好的是这个(我在这个网站上的一个相关问题中找到了):
date_default_timezone_set('Asia/Kuala_Lumpur');
$my_time = $row['timestamp'];
$oldLocale = setlocale(LC_TIME, 'it_IT');
echo strftime("%F %Y", $my_time);
setlocale(LC_TIME, $oldLocale);
但没有运气。
有任何想法吗?
谢谢。