Как получить формат Year-Week в формате календаря ISO? - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь получить текущую дату в формате календаря ISO следующим образом с добавлением нуля на неделе?

2019/W06

Я пробовал следующее, но предпочитаю что-то, используя strftime, так как это оченьлегче читать.

print(str(datetime.datetime.today().isocalendar()[0]) + '/W' + str(datetime.datetime.today().isocalendar()[1]))
2019/W6

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Решение с strftime:

Если вы хотите заполнить нулями:

datetime.date.today().strftime("%Y/W%V")

Вывод:

2019/W06

Если вы не хотите:

datetime.date.today().strftime("%Y/W%-V")

Вывод:

2019/W6

Обратите внимание, что «% V» возвращает номер недели, а «-» - это то, что удаляет начальный ноль.

0 голосов
/ 05 февраля 2019

Используйте следующий код:

print(datetime.now().strftime('%Y/W%V'))

% Y Год с веком в виде десятичного числа.

% V - номер недели ISO 8601 текущего года (от 01 до53), где неделя 1 - это первая неделя, в которой в текущем году не менее 4 дней, а первым днем ​​недели является понедельник.

https://docs.python.org/3.7/library/datetime.html#strftime-and-strptime-behavior

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...