2017-01-31 6 views
0

У меня есть строка datetime, которую я хочу локализовать на китайском языке. У меня есть строка datetime, которая выглядит так: 2016-12-13 08:00:00 и я использую strftime следующим образом, чтобы установить языковой стандарт.strftime localization timezone/display issue

Если я закомментировать локаль в моем HTML строка преобразуется в более многословной версии в правильной локальной временной зоне, которая выглядит следующим образом:

Вт дек 13 2016 3:00:00 UTC- 0500 (Восточное стандартное время).

Однако при использовании локали он все еще показывает более подробную версию, но часовой пояс еще по Гринвичу, как это:

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; 

ответ

0

Решено использовать javascript. Выведите только строку y-m-d h: m: s в html, а затем jquery каждой функции, чтобы превратить строку в datetime obj и использовать toLocaleTimeString для установки языка и параметров.