我正在開發一個社交應用,我想根據用戶的位置時區顯示帖子的時間。我使用的時區類似亞洲/加爾各答。現在我想如果有人從美國發帖,那麼我應該根據Asia/Calcutta時區獲得日期。 在config.php
我設置根據時區名稱顯示發帖時間(yii)
$timzone=isset($_COOKIE['goalsurf_timezone'])? $_COOKIE['goalsurf_timezone'] : 'America/Los_Angeles';
date_default_timezone_set($timzone);
而且我有一個函數:
function gplustime($date)
{
$time=strtotime($date);
$dt = new DateTime("now", new DateTimeZone($this->timezon)); //first argument "must" be a string
$dt->setTimestamp($time); //adjust the object to correct timestamp
return $dt->format(yii::app()->params['dateformat'].' h:i A');
}
在數據庫中,日期是根據用戶的位置進行保存。但是,當我顯示該日期時,它顯示日期,因爲它在數據庫中。請幫助
更新 也試過這樣:
function gplustime($date)
{
$date = new DateTime($date, new DateTimeZone($this->timezon));
return $date->format(yii::app()->params['dateformat'].' h:i A');
}
不需要這樣做。只需將您的默認日期設置爲PST並使用此http://codingbin.com/display-local-time-according-to-visitors-location-with-javascript-and-php/ – MKD