strftime本地化时区/显示问题

时间:2017-01-31 21:54:26

标签: php date datetime

我有一个日期时间字符串,我想将其本地化为中文。我有一个如下所示的日期时间字符串:2016-12-13 08:00:00我使用strftime以下列方式设置语言环境。

如果我在html中注释掉语言环境,则字符串会在正确的本地时区转换为更详细的版本,如下所示:

  

2016年12月13日星期二03:00:00 GMT-0500(东部标准时间)

但是,在使用区域设置时,它仍会显示更详细的版本,但时区仍然是gmt,如下所示:

  

2016年12月13日星期二08时00分00秒

时间为8而不是3,并且没有显示时区。在语言环境发生变化后,有没有人知道某种方法让它在计算机设置的本地时区显示?

setlocale(LC_TIME,'zh_CN.UTF-8');
echo strftime('%c', strtotime($appointment['appointment_datetime']));
$msg .='         <div id="appointment_datetime"><span>'.strftime("%B %d %Y %X", strtotime($appointment['appointment_datetime'])).'<span></div>';
echo $msg;

1 个答案:

答案 0 :(得分:0)

使用javascript解决。只输出y-m-d h:m:s字符串为html,然后输出jquery每个函数将字符串转换为datetime obj,并使用toLocaleTimeString设置语言环境和选项。