Zend locale получает 12 или 24 часа времени

#zend-framework #locale

#zend-framework #locale

Вопрос:

Любой способ узнать, использует ли кто-то 24-часовой или 12-часовой формат времени с Zend locale. Я хотел бы создать пользовательскую форму и передать эту информацию для ввода времени.

Спасибо.


Редактировать

Придумал это, если кто-нибудь знает что-нибудь получше, дайте мне знать.

   private function is24HourFormat(){
    $localeObject = Zend_Registry::get('Locale');
    $locale = new Zend_Locale($localeObject);
    //create date for midnight
    $date = new Zend_Date('1980-1-1 24:00:00', false, $locale);

    //Should contain 12 if it's 12 hour time, otherwise 24 hour
    $time = $date->get(Zend_Date::TIME_SHORT);
    return (strpos($time, "12") === false);
  }
  

Ответ №1:

Отвечая на мой собственный вопрос, если у кого-то нет чего-то лучшего.

   private function is24HourFormat(){
    $localeObject = Zend_Registry::get('Locale');
    $locale = new Zend_Locale($localeObject);
    //create date for midnight
    $date = new Zend_Date('1980-1-1 24:00:00', false, $locale);

    //Should contain 12 if it's 12 hour time, otherwise 24 hour
    $time = $date->get(Zend_Date::TIME_SHORT);
    return (strpos($time, "12") === false);
  }