Bagaimana cara mendapatkan format string dari tanggal waktu sekarang, dengan python?

113

Misalnya, pada 5 Juli 2010, saya ingin menghitung string

 July 5, 2010

Bagaimana ini harus dilakukan?

TIMEX
sumber

Jawaban:

227

Anda dapat menggunakan datetimemodul untuk bekerja dengan tanggal dan waktu dengan Python. The strftimeMetode memungkinkan Anda untuk menghasilkan representasi string dari tanggal dan waktu dengan format yang Anda tentukan.

>>> 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'
Dave Webb
sumber
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: tes-2018-02-14_16: 40: 52.txt

2a: 04 Maret 2018

2b: 04 Maret 2018

3: Hari ini adalah 2018-11-11 yay


Deskripsi:

Menggunakan format string baru untuk memasukkan nilai ke dalam string di placeholder {}, nilai adalah waktu saat ini.

Kemudian daripada hanya menampilkan nilai mentah sebagai {}, gunakan pemformatan untuk mendapatkan format tanggal yang benar.

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

Pieter
sumber
Jawaban Anda ditandai sebagai kualitas rendah karena hanya kode. Coba jelaskan jawaban Anda lebih dalam.
Derek Brown
1
Amsal jawaban terbaik sekalipun.
nulltron
apa fartinya dalam print(f"3?
Lei Yang
@ lei-yang berikut penjelasannya: realpython.com/python-f-strings menandai string sebagai f string, dan python kemudian mencari {} dengan kode / variabel di dalamnya, dan menempatkan konten dalam string. Ini adalah penambahan pemformatan string python3.6 terbaru
Pieter
Bagian bawah halaman ini https://docs.python.org/3/library/datetime.html mencantumkan placeholder yang disukai %Bdan apa yang mereka wakili.
James Toomey
24
>>> import datetime
>>> now = datetime.datetime.now()
>>> now.strftime("%B %d, %Y")
'July 23, 2010'
Pär Wieslander
sumber
6

Jika Anda tidak peduli tentang pemformatan dan Anda hanya perlu tanggal singkat, Anda dapat menggunakan ini:

import time
print(time.ctime())
cakupan
sumber