Как отформатировать объект DateTime в строку с буквой h, например 13h45, используя класс DateFormat?

#date #dart

#Дата #dart

Вопрос:

Это было бы что-то вроде DateFormat('hh:mm').format(date) , но с буквой h вместо двоеточия. DateFormat('hhhmm').format(date) очевидно, что это не работает, так как h в данном случае это значимый символ.

Ответ №1:

Из DateFormat документации:

Следующие символы доступны в явных шаблонах:

 Symbol   Meaning                Presentation       Example
------   -------                ------------       -------
...
'        escape for text        (Delimiter)        'Date='
  

Таким образом, вы могли бы использовать DateFormat("hh'h'").format(date) .

Тем не менее, вы обычно используете обозначения, например, 13h45 для представления длительностей. Если это так, использование Duration объекта вместо DateTime объекта для его хранения было бы гораздо более уместным и было бы менее вводящим в заблуждение.

Комментарии:

1. Спасибо, я пропустил эту деталь об экранировании символов. Лично я 13h45 по умолчанию считываю как дату. Длительность будет 13h45min .