我在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);
但没有运气。
有什么想法吗?
感谢。