我在从函数返回正确的日期格式时遇到问题。 ZF文档说如果我使用常量“Zend_Date :: DATES”或“Zend_Date :: DATE_MEDIUM”,它应该以en_us locale Zend Documentation的格式03.09.2011
返回日期但是我得到了日期对于这两个常量,就像这个Mar 9, 2011
一样返回。但是,如果我使用“Zend_Date :: DATE_SHORT”常量,我得到03/09/11
,这正是文档所说的那样。那么为什么另外两个常量给我一个不同的格式......如果出现问题,是否有一些全部默认值?我怀疑这是一个ZF错误,因为很多人会把它们淹没在这个bug中,所以我确定我错了,但我无法弄清楚它可能是什么,需要一点帮助感兴趣。
这是我的功能:
function ZEND_format_date_locale_display($str_date, $lang_LOCALE)
{
include_once $zend_lib_path . '/Zend/Date.php';
$date = new Zend_Date();
$date->set($str_date, 'yyyy-MM-dd');
$date = $date->toString(Zend_Date::DATES, $lang_LOCALE);
return $date;
}
2011年3月9日的日期来自mysql数据库,如'2011-03-09'。
我这样称呼函数:
ZEND_format_date_locale_display('2011-03-09', 'en_us')
任何帮助或想法表示赞赏。提前谢谢。
答案 0 :(得分:3)
Zend Documentation说“下面的示例输出反映了本地化到欧洲/ GMT + 1小时(例如德国,奥地利,法国)”。因此,如果您将区域设置设置为例如'de'你应该得到预期的结果。
答案 1 :(得分:0)
为什么不使用PHP的内置函数? 您可以使用strtotime()将任何可读格式的日期转换为UNIX时间戳,然后您可以使用date()将此时间戳转换为任何格式。