PHP:将时间戳转换为本地时间,然后以本地语言显示

时间:2013-08-22 15:16:08

标签: php timezone multilingual strftime timestamp-with-timezone

我在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时间,有些方面我会得到短期约会。我陷入困境,试图解决这个问题。

我得到的最好的是(我在本网站的相关问题here中找到的):

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

但没有运气。

有什么想法吗?

感谢。

0 个答案:

没有答案