Làm cách nào để lấy định dạng chuỗi của ngày tháng hiện tại, trong python?


113

Ví dụ, vào ngày 5 tháng 7 năm 2010, tôi muốn tính chuỗi

 July 5, 2010

Làm sao nó có thể hoàn thành?

Câu trả lời:


227

Bạn có thể sử dụng datetimemô-đun để làm việc với ngày và giờ trong Python. Các strftimephương pháp cho phép bạn tạo ra chuỗi đại diện của ngày tháng và thời gian với một định dạng mà bạn chỉ định.

>>> 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: ngày 04 tháng 3 năm 2018

2b: ngày 04 tháng 3 năm 2018

3: Hôm nay là ngày 11 tháng 11 năm 2018


Sự miêu tả:

Sử dụng định dạng chuỗi mới để đưa giá trị vào một chuỗi tại chỗ dành sẵn {}, giá trị là thời gian hiện tại.

Sau đó, thay vì chỉ hiển thị giá trị thô dưới dạng {}, hãy sử dụng định dạng để có được định dạng ngày chính xác.

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


Câu trả lời của bạn đã bị gắn cờ là chất lượng thấp vì nó chỉ là mã. Hãy thử giải thích câu trả lời của bạn sâu hơn.
Derek Brown

1
Câu trả lời tốt nhất Probs mặc dù.
nulltron 30/09/18

những gì hiện ftại trung bình print(f"3?
Lei Yang

@ lei-yang đây là lời giải thích: realpython.com/python-f-strings nó đánh dấu chuỗi là chuỗi f và sau đó python tìm kiếm {} với mã / biến trong đó và đặt nội dung vào chuỗi. Đây là phần bổ sung định dạng chuỗi python3.6 mới nhất
Pieter

Phần cuối của trang này https://docs.python.org/3/library/datetime.html liệt kê các trình giữ chỗ thích %Bvà những gì chúng đại diện.
James Toomey

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

6

Nếu bạn không quan tâm đến định dạng và bạn chỉ cần một số ngày nhanh chóng, bạn có thể sử dụng điều này:

import time
print(time.ctime())
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.