{{ now() }}
{{ now() }}
Пример результата:
2021-03-28 13:10:00.026751+03:00
Время отображается в часовом поясе который указан в настройках Home Assistant.
Пример использования функции strftime:
{{ now().strftime("%d %B %Y %H:%M:%S %Z") }}
Пример результата:
28 March 2021 13:48:00 MSK
Документация какие коды можно использовать в функции: https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes
Очень популярный формат представления даты-времени в компьютерах. Это число которое означает количество секунд с 00:00:00 1 января 1970 года.
{{ now() | as_timestamp() }}
Пример результата:
1616926514.347887
Можно сделать это и другим способом:
{{ as_timestamp( now() ) }}
Результат работы всех трех шаблонов одинаковой — текущий год.
{{ now().year }}
{{ now().strftime('%Y') }}
{{ now().timestamp() | timestamp_custom("%Y") }}
{{ as_timestamp('2020-08-01 12:00:00') }}
Строка воспринимается как дата-время в часовом поясе который указан в настройках Home Assistant.
В том случае если в строке данные о дате и времени находятся в каком-то необычном порядке, то нужно дополнительно использовать функцию strptime:
{% set dt = "17:49:44 2020-11-20" %}
{{ as_timestamp(strptime(dt, '%H:%M:%S %Y-%m-%d')) | timestamp_custom('%Y-%m-%d %H:%M:%S %Z') }}
Вот пример как получить дату-время плюс два часа от текущего момента:
{{ (now().timestamp() + 60*60*2) | timestamp_custom('%Y-%m-%d %H:%M:%S') }}
{{ relative_time(state_attr('automation.enable_zigbee_joining', 'last_triggered')) }}
Пример результата:
10 days
{{ states.sensor['0x00158d00040df945_temperature'].last_updated }}
{{ states.sensor['0x00158d00040df945_temperature'].last_updated.strftime('%Y-%m-%d %H:%M:%S') }}
{{ as_timestamp(states.sensor['0x00158d00040df945_temperature'].last_updated) | timestamp_custom('%Y-%m-%d %H:%M:%S') }}
Результат:
2021-04-30 08:51:07.797174+00:00
2021-04-30 08:51:07
2021-04-30 11:51:07
Первая и вторая строчка возращают дату-время в часовом поясе UTC. Вариант с timestamp_custom() возвращает дату-время в часовом поясе Home Assistant.