|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Отформатировать дату в Python
Время создания: 04.05.2018 14:58
Автор: br0ke
Текстовые метки: python, date, datetime, output, format, strftime, pendulum, babel, locale, setlocale, localization, localized
Раздел: Информационные технологии - Python
Запись: and-semakin/mytetra_data/master/base/1525423865a912jur9y6/text.html на raw.githubusercontent.com
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1) Обычное форматирование (числовое или прописью на английском): from datetime import datetime dt = datetime.now() # 1) str.format strg = '{:%B %d, %Y}'.format(dt) print(strg) # July 22, 2017 # 2) datetime.strftime strg = dt.strftime('%B %d, %Y') print(strg) # July 22, 2017 # 3) f-strings in python >= 3.6 strg = f'{dt:%B %d, %Y}' print(strg) # July 22, 2017 2) Представление прописью на русском языке (взято отсюда: https://ru.stackoverflow.com/a/623845 ): #!/usr/bin/env python3 import pendulum # $ pip install pendulum d = pendulum.from_format('01.07.2009', '%d.%m.%Y') ordinal_day_word = ['', 'первое', 'второе', 'третье', ...][d.day] print(ordinal_day_word + d.format(' %B %Y года', locale='ru')) # -> первое июля 2009 года 3) Получить дату в локализированном формате для определенного языка: >>> import time >>> print time.strftime("%a, %d %b %Y %H:%M:%S") Sun, 23 Oct 2005 20:38:56 >>> import locale >>> locale.setlocale(locale.LC_TIME, "sv_SE") # swedish 'sv_SE' >>> print time.strftime("%a, %d %b %Y %H:%M:%S") sön, 23 okt 2005 20:39:15 Нужно быть внимательным с локалями, потому что на Linux/Unix и Windows они записываются по-разному . Кроме того, команда смены локали глобальна для программы и может поменять поведение в неожиданных местах. Чтобы этого избежать, можно воспользоваться локализирующими библиотеками, типа babel: >>> from datetime import date, datetime, time >>> from babel.dates import format_date, format_datetime, format_time >>> d = date(2007, 4, 1) >>> format_date(d, locale='en') u'Apr 1, 2007' >>> format_date(d, locale='de_DE') u'01.04.2007'
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Так же в этом разделе:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|