Python'da geçerli tarih saatinin dize biçimini nasıl alırım?


113

Örneğin, 5 Temmuz 2010'da dizeyi hesaplamak istiyorum

 July 5, 2010

Bu nasıl yapılmalı?

Yanıtlar:


227

datetimeModülü Python'da tarih ve saatlerle çalışmak için kullanabilirsiniz . strftimeYöntem belirttiğiniz bir biçimde tarih ve saatlerde dize gösterimini üretmek için izin verir.

>>> 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'

34
#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")

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

2a: 04 Mart 2018

2b: 04 Mart 2018

3: Bugün 2018-11-11 yay


Açıklama:

{} Yer tutucusundaki bir dizeye değer enjekte etmek için yeni dize biçimini kullandığınızda, değer geçerli saattir.

Ardından, ham değeri {} olarak görüntülemek yerine, doğru tarih biçimini elde etmek için biçimlendirmeyi kullanın.

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


Yanıtınız yalnızca kod içerdiği için düşük kaliteli olarak işaretlendi. Cevabınızı daha derinlemesine açıklamaya çalışın.
Derek Brown

1
Sorunun en iyi yanıtı.
nulltron

ne anlama fgeliyor print(f"3?
Lei Yang

@ lei-yang burada bir açıklama: realpython.com/python-f-strings dizeyi f dizesi olarak işaretler ve python daha sonra içinde kod / değişkenlerle birlikte {} öğesini arar ve içeriği dizeye yerleştirir. En son python3.6 dize biçimlendirme
Pieter

Bu sayfanın alt kısmında https://docs.python.org/3/library/datetime.html gibi yer tutucular %Bve neyi temsil ettikleri listelenir .
James Toomey

24
>>> import datetime
>>> now = datetime.datetime.now()
>>> now.strftime("%B %d, %Y")
'July 23, 2010'

6

Biçimlendirmeyi önemsemiyorsanız ve sadece hızlı bir tarihe ihtiyacınız varsa, şunu kullanabilirsiniz:

import time
print(time.ctime())
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.