我有一个date函数,它可以将DATE TIME列输出为更具可读性的时间读取方法,比如今天9:51。但是,我的日期读取的时区是我的服务器所在的时区,即CST,US。有没有办法让它读到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;
}
}发布于 2016-10-28 21:57:17
尝试使用date_default_timezone_set()
发布于 2016-10-28 21:59:14
您可以在配置文件或函数中设置时区,如下所示:
date_default_timezone_set('America/Toronto'); //whatever timezone you have对你来说应该是:
date_default_timezone_set('America/New_York');发布于 2016-10-28 22:54:26
您可以使用AJAX来实现这一点。此代码将自动检测时区,并根据客户国家显示当前时间。
将此添加到您的主页。<div id="currentTime"></div>用于显示当前时间。
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js">
</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.4/jstz.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
var zoneDetect = jstz.determine();
var timezone = zoneDetect.name();
$.get("cookie_set.php", {timezone: timezone}, function(result){
$('#currentTime').html(result);
});
});
</script>
<div id="currentTime"></div>创建另一个页面time_set.php。并添加以下代码。此页用于检索时间。
<?php
date_default_timezone_set($_GET['timezone']);
function fixDate($strDateTime) {
return $strDateTime;
}
echo fixDate(date('Y-m-d h:i:s'));
?>https://stackoverflow.com/questions/40306575
复制相似问题