Câu trả lời:
Lớp datetime có một phương thức strftime Tài liệu Python ghi lại các định dạng khác nhau mà nó chấp nhận:
Đối với ví dụ cụ thể này, nó sẽ trông giống như:
my_datetime.strftime("%B %d, %Y")
strftime
khác nhau giữa Python 2 và 3 không?
Đây là cách bạn có thể thực hiện tương tự bằng cách sử dụng chức năng định dạng chung của python ...
>>>from datetime import datetime
>>>"{:%B %d, %Y}".format(datetime.now())
Các nhân vật định dạng sử dụng ở đây cũng giống như những người sử dụng bởi strftime . Đừng bỏ lỡ hàng đầu :
trong định dạng định dạng.
Sử dụng định dạng () thay vì strftime () trong hầu hết các trường hợp có thể làm cho mã dễ đọc hơn, dễ viết hơn và phù hợp với cách tạo đầu ra được định dạng ...
>>>"{} today's date is: {:%B %d, %Y}".format("Andre", datetime.now())
So sánh ở trên với các thay thế strftime () sau đây ...
>>>"{} today's date is {}".format("Andre", datetime.now().strftime("%B %d, %Y"))
Hơn nữa, sau đây sẽ không hoạt động ...
>>>datetime.now().strftime("%s %B %d, %Y" % "Andre")
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
datetime.now().strftime("%s %B %d, %Y" % "Andre")
TypeError: not enough arguments for format string
Và như thế...
print 'Today is {:%B %d, %Y}'.format(datetime.now())
với print 'Today is {}'.format(datetime.now().strftime('%B %d, %Y')
. Khi bạn đang sử dụng phương thức format (), tại sao không sử dụng nó cho định dạng ngày?
from datetime import datetime
date_string = f'{datetime.now():%Y-%m-%d %H:%M:%S%z}'
câu hỏi rất cũ, tôi biết. nhưng với chuỗi f mới (bắt đầu từ python 3.6), có các tùy chọn mới. vì vậy ở đây cho đầy đủ:
from datetime import datetime
dt = datetime.now()
# str.format
strg = '{:%B %d, %Y}'.format(dt)
print(strg) # July 22, 2017
# datetime.strftime
strg = dt.strftime('%B %d, %Y')
print(strg) # July 22, 2017
# f-strings in python >= 3.6
strg = f'{dt:%B %d, %Y}'
print(strg) # July 22, 2017
strftime()
và strptime()
Hành vi giải thích ý nghĩa của các chỉ định định dạng.
Đối tượng datetime của Python có một thuộc tính phương thức, nó in ở định dạng có thể đọc được.
>>> a = datetime.now()
>>> a.ctime()
'Mon May 21 18:35:18 2018'
>>>
Đây là định dạng ngày?
def format_date(day, month, year):
# {} betekent 'plaats hier stringvoorstelling van volgend argument'
return "{}/{}/{}".format(day, month, year)
dt = datetime.datetime(*t[:7])