У меня есть функция даты, которая выводит столбец DATE TIME
на более читаемый способ чтения времени, например Сегодня в 9:51. Тем не менее, часовым поясом моей даты является чтение моего сервера, который является CST, США. Есть ли способ заставить его читать EST? или даже отобразить правильное время для любой области?Дата установки функции до нужного часового пояса
function fixDate($strDateTime) {
$strFormat = 'M, j, Y';
$strFormatTime = '\a\t g:ia';
$intTimeStamp = strtotime($strDateTime);
$strDate = date($strFormat, $intTimeStamp);
$strTime = date($strFormatTime, $intTimeStamp);
if($strDate == date($strFormat)) {
return "Today " . $strTime;
}
elseif($strDate == date($strFormat, strtotime('yesterday'))) {
return "Yesterday " . $strTime;
}
else {
return $strDate . " " . $strTime;
}
}
Посмотрите [DateTime] (http://php.net/manual/es/class.datetime.php) и [DateTime-> setTimezone] (http://php.net/manual/ es/datetime.settimezone.php) Вы можете получить объект 'DateTime' вместо строки и до того, как« префикс »вашей даты преобразует его в клиенту' DateTimeZone'. Это проще на стороне клиента, но это можно сделать на сервере AFAIK. – jorgonor