2013-01-11 56 views

回答

3

看看這question這裏如此。

複製粘貼在這裏的答案: Zend_Date的運算,取而代之PHP 5.3的DateTime API http://es.php.net/manual/en/book.datetime.php

的被刪除,並在ZF2看source code的日期格式助手這似乎並不可能。 Bascially只要用php就足夠了。

Zend Framework 1或2不包含所有內容。當php的某些部分完美時,它不會被替換。

編輯:這已經爲這個問題提問者:

$datetime = new DateTime(null, new DateTimeZone('America/Chicago')); 
echo $datetime->format('Y'); 
+0

非常感謝您的協助!通過檢查你發佈的鏈接,我能夠想出一個在Zend Framework 2中工作的解決方案,並沒有發出任何錯誤或警告。這裏是我使用的最終代碼: '$ datetime = new DateTime(null,new DateTimeZone('America/Chicago')); echo $ datetime-> format('Y');' –

+0

下一步是接受我的答案:)很高興得到了幫助。 – Iznogood

+0

Iznogood顯然編輯了他的問題,以得到相同的答案,因爲我已經寫在下面:)無論如何,請注意,您不需要在此構造中設置時區。確保你有時區設置,所以你不會收到任何警告。不要在'DateTime'中設置時區,因爲它會使代碼非常不靈活**。要了解如何設置時區,請查看以下問題:http://stackoverflow.com/questions/2213608/php-configuration-it-is-not-safe-to-rely-on-the-systems-timezone-settings –

2

Zend框架2已經不提供任何具體日期的對象。相反,它適用於本機php DateTime。您可以使用DateTime對象,並可以在助手中使用它們來轉換輸出。

另外你提到的視圖助手是專門針對國際化的。每個國家的時間戳格式都不一樣,所以這就是幫手的用途。然而,2013年是2013年在美國,英國和中國。沒有必要爲此使用i18n。

本年度,因此,可以簡單地通過DateTime直接使用並格式化與date()format parameters

$date = new DateTime; 

$date->format('o'); // ISO-8601 year, four digits 
$date->format('Y'); // Four digits 
$date->format('y'); // Two digits 

你可能想要麼使用Yy

相關問題