【发布时间】:2016-10-28 13:52:38
【问题描述】:
我有一个日期函数,它将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 和DateTime->setTimezone 你可能会收到一个
DateTime对象而不是一个字符串,然后在“美化”你的日期之前将它转换为客户端DateTimeZone。这在客户端更容易,但可以在服务器 AFAIK 中完成。