我有以下日期功能:
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 " on " . $strDate . " " . $strTime;
}
}
我不确定这是我的日期函数导致这个或我的数据库结构的方式,但我的页面上的日期是在它应该是PM时读取AM。它也在阅读美国 - 中部时间,当我需要美国 - 东部时间。我将日期存储在phpmyadmin中作为日期类别。
如何更改日期以便显示为美国 - 东部时间?
答案 0 :(得分:1)
我始终将默认时区设为GMT
biblia:bible
然后将GMT渲染到“视图”图层中的本地时区。当地时区是一个很难处理的问题,尤其是夏令时。 : - )
# store all data internally as GMT:
# local tz 1 \
# local tz 2 + <-> webservice.php <-> gmt tz
# local tz 2 /
date_default_timezone_set('Zulu');
if( ! defined( 'DATE_FORMAT' ) ) define ('DATE_FORMAT', 'Y-m-d H:i:s');
答案 1 :(得分:0)
尝试改变,
function fixDate($strDateTime) {
$strFormat = 'M, j, Y';
到
function fixDate($strDateTime) {
$strFormat = 'M, j, Y';
date_default_timezone_set('America/New_York');