使用Zend语言环境进行时间转换



是否有使用Zend Locale转换时间的方法,例如17:00到5:00pm ?

我已经在文档中尝试了这个方法,因为它是(它有一个错别字),但它不起作用。它给出错误'无法解析日期'13:44:42'使用'dd.MM。yyyy' (M <> y)'

$locale = new Zend_Locale('de_AT');
if (Zend_Locale_Format::getTime('13:44:42',
                            array('date_format' =>
                                      Zend_Locale_Format::STANDARD,
                                  'locale' => $locale))) {
    print "time";
} else {
    print "not a time";
}

然后我尝试了两步方法,首先获得当前地区的时间格式,然后在getTime函数中使用它。

$locale = new Zend_Locale('en_US');
$tf = Zend_Locale_Format::getTimeFormat($locale);
$test = Zend_Locale_Format::getTime('17:00', array('date_format' => $tf, 'locale' => $locale));

返回一个结果但只是返回我之前的值

array('date_format'=>'h:mm:ss a', 'locale'=>'en_US', 'hour'=>'17', 'minute'=>'00')

是否有一些东西将时间转换为我试图解析的实际区域设置?

您需要使用带有区域设置的Zend_Date来以您想要的格式获取日期。

$date    = new Zend_Date(); // Default ISO format type & en_US
// Set the time and pass the format I am using to set the time
$date->setTime('17:00:00', 'HH:mm:ss'); 
echo $date; // Jul 15, 2011 5:00:00 PM

编辑

关于如何将Zend_LocaleZend_Date一起使用的更多信息

$locale = new Zend_Locale('de_AT');
echo  $date->toString(Zend_Locale_Format::getTimeFormat($locale)) ; // 17:00:00
$locale = new Zend_Locale('en_US');
echo  $date->toString(Zend_Locale_Format::getTimeFormat($locale)) ; // 5:00:00 PM

相关内容

  • 没有找到相关文章

最新更新