2011-07-19 176 views
0

有沒有一種方法來指定您自己的日期模式,除了包括(小,中,滿)。這裏的要點是它應該與i18n一起工作。我試了幾件事情,但我無法得到它的工作...Yii自定義日期格式(模式)

Yii::app()->dateFormatter->format("l d/m/Y",$slide->date_start); 

我知道strftime但這裏的問題是,不同的託管服務提供商使用不同的語言環境字符串...你有以定製它...

我正在尋找一個這樣做的優雅方式。

我想l d/m/Y形式來顯示日期...

更新: 沒關係......我剛剛發現dateFormatter不使用標準的PHP日期格式...

回答

0

我認爲你應該只測量Unix Time中的時間,因爲時區&日期格式是一個表示層問題。 Unix時間永遠是UTC &這是一個單一的數字,所以在代碼中更容易傳遞。

到目前爲止,「託管服務提供商使用不同的區域設置字符串」的問題,只要問他的時區&顯示。遠比猜測更不容易出錯。

日期格式,看看誼的format()

希望這回答了你的問題

+0

正如我在我的更新中說的正確的格式是'EEEE,d/M/yyyy'這是比標準的php有點不同... – Mission

+0

是的,Yii似乎遵循Unicode方式;) – CuriousMind

0

這裏有一個相關yii forum discussion

的警予論壇解決方案爲我工作,以避免原始SQL NOW()聲明,但仍用PHP date()time()產生數據庫友好的日期字符串,否則返回整數。

在保護/配置/ main.php:

... 
'params'=>array(
    'mysqlDateTimeFormat' => 'Y-m-d H:i:s', # ':u' adds microsecond precision, 
... 

然後,無論你想提出一個日期 - 時間字符串轉換成模型現場使用

$myModel->myDate = date(Yii::app()->params['mysqlDateTimeFormat']); 

很明顯,你可以輸入日期/時間格式直接輸入日期(或時間)功能,如果你願意的話。