How do I get a string format of the current date time, in python?

Question:

For example, on July 5, 2010, I would like to calculate the string

 July 5, 2010

How should this be done?

Asked By: TIMEX

||

Answers:

You can use the datetime module for working with dates and times in Python. The strftime method allows you to produce string representation of dates and times with a format you specify.

>>> import datetime
>>> datetime.date.today().strftime("%B %d, %Y")
'July 23, 2010'
>>> datetime.datetime.now().strftime("%I:%M%p on %B %d, %Y")
'10:36AM on July 23, 2010'
Answered By: David Webb
>>> import datetime
>>> now = datetime.datetime.now()
>>> now.strftime("%B %d, %Y")
'July 23, 2010'
Answered By: Pär Wieslander
#python3

import datetime
print(
    '1: test-{date:%Y-%m-%d_%H:%M:%S}.txt'.format( date=datetime.datetime.now() )
    )

d = datetime.datetime.now()
print( "2a: {:%B %d, %Y}".format(d))

# see the f" to tell python this is a f string, no .format
print(f"2b: {d:%B %d, %Y}")

print(f"3: Today is {datetime.datetime.now():%Y-%m-%d} yay")

#4: to make the time timezone-aware pass timezone to .now()
tz = datetime.timezone.utc
ft = "%Y-%m-%dT%H:%M:%S%z"
t = datetime.datetime.now(tz=tz).strftime(ft)
print(f"4: timezone-aware time: {t}")

1: test-2018-02-14_16:40:52.txt

2a: March 04, 2018

2b: March 04, 2018

3: Today is 2018-11-11 yay

4: timezone-aware time: 2022-05-05T09:04:24+0000


Description:

Using the new string format to inject value into a string at placeholder {}, value is the current time.

Then rather than just displaying the raw value as {}, use formatting to obtain the correct date format.

https://docs.python.org/3/library/string.html#formatexamples

https://docs.python.org/3/library/datetime.html

Answered By: Pieter

If you don’t care about formatting and you just need some quick date, you can use this:

import time
print(time.ctime())
Answered By: scope

With time module:

import time
time.strftime("%B %d, %Y")
>>> 'July 23, 2010'
time.strftime("%I:%M%p on %B %d, %Y")
>>> '10:36AM on July 23, 2010'

For more formats: www.tutorialspoint.com

Answered By: François B.

Simple

# 15-02-2023
datetime.datetime.now().strftime("%d-%m-%Y")

and for this question use "July 5, 2010"

# July 5, 2010
datetime.datetime.now().strftime("%B %d, %Y")
Answered By: Deepanshu Mehta
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.