Функция format_datetime
Функция format_datetime применяется для преобразования
объекта datetime в строку с учётом текущей локали
приложения. Первым параметром передаётся дата и время,
вторым - необязательный формат вывода. Если формат не указан,
используется формат по умолчанию для текущей локали.
Функция доступна внутри шаблонов Jinja через расширение
Flask-Babel.
Синтаксис
format_datetime(datetime, [format])
Пример
Давайте отформатируем текущую дату и время в шаблоне:
from flask import Flask, render_template
from flask_babel import Babel
from datetime import datetime
app = Flask(__name__)
app.config['BABEL_DEFAULT_LOCALE'] = 'en'
babel = Babel(app)
@app.route('/')
def index():
now = datetime(2024, 1, 15, 14, 30, 0)
return render_template('index.html', now=now)
<p>{{ format_datetime(now) }}</p>
Результат выполнения кода:
<p>Jan 15, 2024, 2:30:00 PM</p>
Пример
Давайте передадим собственный формат вывода:
<p>{{ format_datetime(now, 'short') }}</p>
Результат выполнения кода:
<p>1/15/24, 2:30 PM</p>
Пример
Давайте используем явный шаблон форматирования:
<p>{{ format_datetime(now, 'yyyy-MM-dd HH:mm') }}</p>
Результат выполнения кода:
<p>2024-01-15 14:30</p>
Пример
Давайте отформатируем дату с русской локалью:
from flask import Flask, render_template
from flask_babel import Babel
from datetime import datetime
app = Flask(__name__)
app.config['BABEL_DEFAULT_LOCALE'] = 'ru'
babel = Babel(app)
@app.route('/')
def index():
now = datetime(2024, 1, 15, 14, 30, 0)
return render_template('index.html', now=now)
<p>{{ format_datetime(now) }}</p>
Результат выполнения кода:
<p>15 янв. 2024 г., 14:30:00</p>
Смотрите также
-
функцию
format_date,
которая форматирует только дату -
функцию
format_time,
которая форматирует только время -
функцию
get_locale,
которая возвращает текущую локаль -
метод
localeselector,
который выбирает локаль для запроса