Как можно получить текущую дату и время в формате строки?

Используйте модуль datetime:

import datetime

now = datetime.datetime.now()
formatted_date_time = now.strftime("%Y-%m-%d %H:%M:%S")

print(formatted_date_time)

Где strftime() форматирует дату и время в нужную строку.


Есть несколько способов получить текущую дату и время в формате строки в Python. Самый распространенный - использовать модуль datetime:


import datetime

# Получаем текущую дату и время
now = datetime.datetime.now()

# Форматируем в строку с использованием strftime
formatted_date_time = now.strftime("%Y-%m-%d %H:%M:%S")

print(formatted_date_time)
  

Разберем код:

  • import datetime: Импортируем модуль datetime.
  • datetime.datetime.now(): Получаем объект datetime, содержащий текущую дату и время.
  • now.strftime("%Y-%m-%d %H:%M:%S"): Преобразуем объект datetime в строку с использованием метода strftime().
  • "%Y-%m-%d %H:%M:%S": Это строка форматирования. Каждый символ процента (%) обозначает специальный код, который заменяется соответствующей частью даты и времени:
    • %Y: Год с четырьмя цифрами (например, 2023)
    • %m: Месяц с двумя цифрами (например, 01 для января)
    • %d: День с двумя цифрами (например, 05)
    • %H: Час в 24-часовом формате (например, 14)
    • %M: Минуты
    • %S: Секунды

Другие варианты форматирования:

Вы можете использовать другие коды форматирования strftime() для получения даты и времени в разных форматах. Например:


import datetime

now = datetime.datetime.now()

# Формат: день/месяц/год час:минуты:секунды
formatted_date_time_2 = now.strftime("%d/%m/%Y %H:%M:%S")
print(formatted_date_time_2)

# Формат: полное название месяца, день, год
formatted_date_time_3 = now.strftime("%B %d, %Y")
print(formatted_date_time_3)
  

Полный список кодов форматирования можно найти в документации Python: strftime() and strptime() Behavior.

Использование f-строк (Python 3.6+):

Начиная с Python 3.6, можно использовать f-строки для более читаемого форматирования:


import datetime

now = datetime.datetime.now()

formatted_date_time_4 = f"{now:%Y-%m-%d %H:%M:%S}"
print(formatted_date_time_4)
  

Этот код делает то же самое, что и первый пример, но он более лаконичен и читабелен.

Получение только даты или времени:

Если вам нужна только дата или только время, можно использовать методы date() и time():


import datetime

now = datetime.datetime.now()

# Получаем только дату
today = now.date()
formatted_date = today.strftime("%Y-%m-%d")
print(formatted_date)

# Получаем только время
time_now = now.time()
formatted_time = time_now.strftime("%H:%M:%S")
print(formatted_time)
  

Краткое заключение:

В Python, модуль datetime предоставляет гибкие инструменты для работы с датой и временем. Функция strftime() позволяет форматировать объекты datetime, date и time в нужные строковые представления. F-строки (начиная с Python 3.6) предоставляют более лаконичный и читабельный способ форматирования.

0