0

我在 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);

但没有运气。

有任何想法吗?

谢谢。

4

0 回答 0