Home >Backend Development >Python Tutorial >How to Format Dates for Printing in Python?

How to Format Dates for Printing in Python?

DDD
DDDOriginal
2024-12-10 00:30:14613browse

How to Format Dates for Printing in Python?

How to Print a Date in a Regular Format

Problem:

When appending a date to a list, the printed output appears as "[datetime.date(YYYY, MM, DD)]" instead of a simple "YYYY-MM-DD" format.

Why:

Dates in Python are objects. When printing, they have two representations:

  • Regular representation (using str()): A human-readable format (e.g., "2008-11-22").
  • Alternative representation (using repr()): An object representation (e.g., "datetime.date(2008, 11, 22)").

How to Solve:

To get a simple date string, cast the date object to a string using str(). This ensures that the regular representation is used when printing. Here's an example:

import datetime
today = datetime.date.today()
print(str(today))  # Prints "2008-11-22"

Alternatively, you can use the strftime() method to create a custom date format:

print(today.strftime('%Y-%m-%d'))  # Prints "2008-11-22"

Advanced Formatting:

strftime() supports various format specifiers to customize the date format, such as:

  • %d: Day of the month (e.g., 22)
  • %m: Month number (e.g., 11)
  • %b: Abbreviated month name (e.g., Nov)
  • %Y: Year (e.g., 2008)

You can also use string interpolation to directly format dates within strings:

print(f"Today is {today:%Y-%m-%d}")

The above is the detailed content of How to Format Dates for Printing in Python?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn