Hướng dẫn python datetime date only format - định dạng chỉ datetime date trong python

Lý do tại sao: ngày là đối tượng

Trong Python, ngày là đối tượng. Do đó, khi bạn thao túng chúng, bạn thao túng các đối tượng, không phải chuỗi hoặc dấu thời gian.

Bất kỳ đối tượng nào trong Python đều có hai biểu diễn chuỗi:

  • Biểu diễn thông thường được sử dụng bởi

    import datetime
    f"{datetime.datetime.now():%Y-%m-%d}"
    >>> '2017-06-15'
    
    0 có thể được sử dụng hàm
    import datetime
    f"{datetime.datetime.now():%Y-%m-%d}"
    >>> '2017-06-15'
    
    1. Hầu hết thời gian là định dạng dễ đọc nhất của con người và được sử dụng để dễ dàng hiển thị. Vì vậy,
    import datetime
    f"{datetime.datetime.now():%Y-%m-%d}"
    >>> '2017-06-15'
    
    2 cung cấp cho bạn
    import datetime
    f"{datetime.datetime.now():%Y-%m-%d}"
    >>> '2017-06-15'
    
    3.

  • Biểu diễn thay thế được sử dụng để thể hiện bản chất đối tượng (như một dữ liệu). Nó có thể được sử dụng chức năng

    import datetime
    f"{datetime.datetime.now():%Y-%m-%d}"
    >>> '2017-06-15'
    
    4 và rất tiện dụng để biết loại dữ liệu nào mà bạn đang thao túng trong khi bạn đang phát triển hoặc gỡ lỗi.
    import datetime
    f"{datetime.datetime.now():%Y-%m-%d}"
    >>> '2017-06-15'
    
    5 cung cấp cho bạn
    import datetime
    f"{datetime.datetime.now():%Y-%m-%d}"
    >>> '2017-06-15'
    
    6.

Điều xảy ra là khi bạn đã in ngày sử dụng

import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
0, nó đã sử dụng
import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
1 để bạn có thể thấy một chuỗi ngày đẹp. Nhưng khi bạn đã in
import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
9, bạn đã in một danh sách các đối tượng và Python đã cố gắng thể hiện tập hợp dữ liệu, sử dụng
import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
4.

Làm thế nào: Bạn muốn làm gì với điều đó?

Chà, khi bạn thao tác ngày, hãy tiếp tục sử dụng các đối tượng ngày dài. Họ có hàng ngàn phương pháp hữu ích và hầu hết các API Python mong đợi ngày sẽ là đối tượng.

Khi bạn muốn hiển thị chúng, chỉ cần sử dụng

import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
1. Trong Python, thực tiễn tốt là đưa ra mọi thứ một cách rõ ràng. Vì vậy, chỉ khi đến lúc in, hãy lấy một chuỗi đại diện cho ngày của bạn bằng
import datetime
2.

Một điều cuối cùng. Khi bạn cố gắng in ngày, bạn đã in

import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
9. Nếu bạn muốn in một ngày, bạn phải in các đối tượng ngày, không phải container của chúng (danh sách).

Ví dụ, bạn muốn in tất cả ngày trong danh sách:

for date in mylist :
    print str(date)

Lưu ý rằng trong trường hợp cụ thể đó, bạn thậm chí có thể bỏ qua

import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
1 vì in sẽ sử dụng nó cho bạn. Nhưng nó không nên trở thành một thói quen :-)in that specific case, you can even omit
import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
1 because print will use it for you. But it should not become a habit :-)

Trường hợp thực tế, sử dụng mã của bạn

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22

Định dạng ngày nâng cao

Ngày có một đại diện mặc định, nhưng bạn có thể muốn in chúng ở một định dạng cụ thể. Trong trường hợp đó, bạn có thể nhận được một biểu diễn chuỗi tùy chỉnh bằng phương thức

import datetime
5.

import datetime
5 mong đợi một mẫu chuỗi giải thích cách bạn muốn định dạng ngày của mình.

VÍ DỤ :

print today.strftime('We are the %d, %b %Y')
>>> 'We are the 22, Nov 2008'

Tất cả các chữ cái sau một

import datetime
7 đại diện cho một định dạng cho một cái gì đó:

  • import datetime
    
    8 là số ngày (2 chữ số, có tiền tố với số 0 nếu cần thiết)
  • import datetime
    
    9 là số tháng (2 chữ số, có tiền tố với số 0 hàng đầu nếu cần thiết)
  • t = datetime.time(1, 10, 20, 13)
    
    0 là tháng viết tắt (3 chữ cái)
  • t = datetime.time(1, 10, 20, 13)
    
    1 là tên tháng đầy đủ (chữ cái)
  • t = datetime.time(1, 10, 20, 13)
    
    2 là số năm viết tắt (2 chữ số cuối cùng)
  • t = datetime.time(1, 10, 20, 13)
    
    3 là số năm đầy đủ (4 chữ số)

etc.

Hãy xem tài liệu chính thức, hoặc tài liệu tham khảo nhanh của McCutchen mà bạn không thể biết tất cả.

Vì PEP3101, mọi đối tượng có thể có định dạng riêng được sử dụng tự động bằng định dạng phương thức của bất kỳ chuỗi nào. Trong trường hợp của DateTime, định dạng là giống nhau được sử dụng trong thời gian. Vì vậy, bạn có thể làm giống như trên như thế này:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'

Ưu điểm của biểu mẫu này là bạn cũng có thể chuyển đổi các đối tượng khác cùng một lúc. Với việc giới thiệu các chữ cái được định dạng (kể từ Python 3.6, 2016-12-23) điều này có thể được viết là
With the introduction of Formatted string literals (since Python 3.6, 2016-12-23) this can be written as

import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'

Bản địa hóa

Ngày có thể tự động thích nghi với ngôn ngữ và văn hóa địa phương nếu bạn sử dụng chúng đúng cách, nhưng nó hơi phức tạp. Có thể cho một câu hỏi khác về SO (Overflow Stack) ;-)

Giới thiệu

Python đi kèm với một loạt các đối tượng hữu ích có thể được sử dụng ra khỏi hộp. Đối tượng ngày là ví dụ của các đối tượng như vậy. Các loại ngày rất khó thao tác từ đầu, do sự phức tạp của ngày và thời gian. Tuy nhiên, các đối tượng ngày Python giúp việc chuyển đổi ngày thành các định dạng chuỗi mong muốn cực kỳ dễ dàng.

Định dạng ngày là một trong những nhiệm vụ quan trọng nhất mà bạn sẽ phải đối mặt với tư cách là một lập trình viên. Các khu vực khác nhau trên thế giới có những cách khác nhau để biểu diễn ngày/thời gian, do đó, mục tiêu của bạn với tư cách là một lập trình viên là trình bày các giá trị ngày theo cách có thể đọc được cho người dùng.

Ví dụ: bạn có thể cần thể hiện một giá trị ngày bằng số như "02-23-2018". Mặt khác, bạn có thể cần phải viết cùng một giá trị ngày theo định dạng văn bản dài hơn như "ngày 23 tháng 2 năm 2018". Trong một kịch bản khác, bạn có thể muốn trích xuất tháng ở định dạng chuỗi từ giá trị ngày được định dạng bằng số.

Trong bài viết này, chúng tôi sẽ nghiên cứu các loại đối tượng ngày khác nhau cùng với các chức năng của chúng.

Mô -đun DateTime

Mô -đun

t = datetime.time(1, 10, 20, 13)
4 của Python, như bạn có thể đoán, chứa các phương thức có thể được sử dụng để làm việc với các giá trị ngày và thời gian. Để sử dụng mô -đun này, trước tiên chúng tôi nhập nó thông qua câu lệnh
t = datetime.time(1, 10, 20, 13)
5 như sau:

import datetime

Chúng ta có thể biểu diễn các giá trị thời gian bằng cách sử dụng lớp

t = datetime.time(1, 10, 20, 13)
6. Các thuộc tính cho lớp
t = datetime.time(1, 10, 20, 13)
6 bao gồm giờ, phút, thứ hai và micro giây.

Các đối số cho lớp

t = datetime.time(1, 10, 20, 13)
6 là tùy chọn. Mặc dù nếu bạn không chỉ định bất kỳ đối số nào, bạn sẽ lấy lại thời gian 0, điều này khó có thể là thứ bạn cần hầu hết thời gian.

Ví dụ: để khởi tạo đối tượng thời gian với giá trị 1 giờ, 10 phút, 20 giây và 13 micro giây, chúng ta có thể chạy lệnh sau:

t = datetime.time(1, 10, 20, 13)

Để xem thời gian, hãy sử dụng hàm

import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
0:

print(t)

Output:

01:10:20.000013

Bạn có thể cần phải nhìn thấy một giờ, phút, thứ hai hoặc micro giây, đây là cách bạn có thể làm như vậy:

print('hour:', t.hour)

Output:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
0

Các phút, giây và micro giây trong thời gian trên có thể được truy xuất như sau:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
1

Output:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
2

Các giá trị cho ngày lịch có thể được biểu diễn thông qua lớp

print(t)
0. Các trường hợp sẽ có các thuộc tính cho năm, tháng và ngày.

Hãy để chúng tôi gọi phương thức

print(t)
1 để xem ngày hôm nay:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
3

Output:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
4

Mã sẽ trả về ngày cho ngày hôm nay, do đó, đầu ra bạn thấy sẽ phụ thuộc vào ngày bạn chạy tập lệnh trên.

Bây giờ chúng ta hãy gọi phương thức

print(t)
2 để in ngày ở định dạng khác:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
5

Output:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
6

Phương pháp

print(t)
2 sử dụng định dạng ngày dài hơn so với các ví dụ chúng ta đã thấy trước đây. Phương pháp này chủ yếu được sử dụng để chuyển đổi thời gian Unix (số giây kể từ ngày 1 tháng 1 năm 1970) thành định dạng chuỗi.

Và đây là cách chúng ta có thể hiển thị năm, tháng và ngày sử dụng lớp

print(t)
0:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
7

Đầu ra

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
8

Chuyển đổi ngày thành chuỗi với thời gian diễn ra

Bây giờ bạn đã biết cách tạo các đối tượng ngày và thời gian, chúng ta hãy tìm hiểu cách định dạng chúng thành các chuỗi dễ đọc hơn.

Để đạt được điều này, chúng tôi sẽ sử dụng phương pháp

print(t)
5. Phương pháp này giúp chúng tôi chuyển đổi các đối tượng ngày thành các chuỗi có thể đọc được. Phải mất hai tham số, như được hiển thị trong cú pháp sau:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
9

Tham số đầu tiên là chuỗi định dạng, trong khi tham số thứ hai là thời gian được định dạng, đó là tùy chọn.

Phương pháp này cũng có thể được sử dụng trực tiếp trên đối tượng

t = datetime.time(1, 10, 20, 13)
4, như được hiển thị trong ví dụ sau:

print today.strftime('We are the %d, %b %Y')
>>> 'We are the 22, Nov 2008'
0

Output:

print today.strftime('We are the %d, %b %Y')
>>> 'We are the 22, Nov 2008'
1

Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!

Chúng tôi đã sử dụng các chuỗi ký tự sau để định dạng ngày:

  • t = datetime.time(1, 10, 20, 13)
    
    0: Trả về ba ký tự đầu tiên của tên tháng. Trong ví dụ của chúng tôi, nó đã trả lại "SEP"
  • import datetime
    
    8: Trả về ngày của tháng, từ 1 đến 31. Trong ví dụ của chúng tôi, nó đã trả lại "15".
  • t = datetime.time(1, 10, 20, 13)
    
    3: Trả về năm ở định dạng bốn chữ số. Trong ví dụ của chúng tôi, nó đã trả lại "2018".
  • 01:10:20.000013
    
    0: Trả lại giờ. Trong ví dụ của chúng tôi, nó đã trả lại "00".
  • 01:10:20.000013
    
    1: Trả về phút, từ 00 đến 59. Trong ví dụ của chúng tôi, nó đã trả lại "00".
  • 01:10:20.000013
    
    2: Trả về thứ hai, từ 00 đến 59. Trong ví dụ của chúng tôi, nó đã trả lại "00".

Chúng tôi đã không vượt qua một thời gian, do đó các giá trị cho thời gian là tất cả "00". Ví dụ sau đây cho thấy thời gian cũng có thể được định dạng như thế nào:

print today.strftime('We are the %d, %b %Y')
>>> 'We are the 22, Nov 2008'
2

Output:

print today.strftime('We are the %d, %b %Y')
>>> 'We are the 22, Nov 2008'
3

Danh sách mã ký tự hoàn chỉnh

Khác với các chuỗi ký tự được đưa ra ở trên, phương thức

print(t)
5 có một số chỉ thị khác để định dạng giá trị ngày:

  • 01:10:20.000013
    
    4: Trả về ba nhân vật đầu tiên của ngày trong tuần, ví dụ: Thứ Tư.
  • 01:10:20.000013
    
    5: Trả về tên đầy đủ của ngày trong tuần, ví dụ: Thứ Tư.
  • t = datetime.time(1, 10, 20, 13)
    
    1: Trả về tên đầy đủ của tháng, ví dụ: Tháng 9.
  • 01:10:20.000013
    
    7: Trả lại ngày trong tuần làm số, từ 0 đến 6, với Chủ nhật là 0.
  • import datetime
    
    9: Trả về tháng dưới dạng số, từ 01 đến 12.
  • 01:10:20.000013
    
    9: Trả về AM/PM cho thời gian.
  • t = datetime.time(1, 10, 20, 13)
    
    2: Trả lại năm ở định dạng hai chữ số, nghĩa là không có thế kỷ. Ví dụ: "18" thay vì "2018".
  • print('hour:', t.hour)
    
    1: Trả về micro giây từ 000000 đến 999999.
  • print('hour:', t.hour)
    
    2: Trả về múi giờ.
  • print('hour:', t.hour)
    
    3: Trả về bù UTC.
  • print('hour:', t.hour)
    
    4: Trả về số lượng của ngày trong năm, từ 001 đến 366.
  • print('hour:', t.hour)
    
    5: Trả lại số tuần của năm, từ 00 đến 53, với thứ Hai được tính là ngày đầu tiên của tuần.
  • print('hour:', t.hour)
    
    6: Trả lại số tuần của năm, từ 00 đến 53, với Chủ nhật được tính là ngày đầu tiên của mỗi tuần.
  • print('hour:', t.hour)
    
    7: Trả về phiên bản ngày và giờ địa phương.
  • print('hour:', t.hour)
    
    8: Trả về phiên bản địa phương của ngày.
  • print('hour:', t.hour)
    
    9: Trả về phiên bản địa phương của thời gian.

Xem xét ví dụ sau:

print today.strftime('We are the %d, %b %Y')
>>> 'We are the 22, Nov 2008'
4

Output:

print today.strftime('We are the %d, %b %Y')
>>> 'We are the 22, Nov 2008'
5

Và đây là cách bạn chỉ có thể nhận được tháng:

print today.strftime('We are the %d, %b %Y')
>>> 'We are the 22, Nov 2008'
6

Output:

print today.strftime('We are the %d, %b %Y')
>>> 'We are the 22, Nov 2008'
7

Hãy để chúng tôi hiển thị năm:

print today.strftime('We are the %d, %b %Y')
>>> 'We are the 22, Nov 2008'
8

Output:

print today.strftime('We are the %d, %b %Y')
>>> 'We are the 22, Nov 2008'
9

Trong ví dụ này, chúng tôi đã sử dụng mã định dạng

t = datetime.time(1, 10, 20, 13)
3. Lưu ý rằng
import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
01 là ở chữ hoa. Bây giờ hãy viết nó bằng chữ thường:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
0

Output:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
1

Lần này, thế kỷ đã bị bỏ qua. Như bạn có thể thấy, với các mã định dạng này, bạn có thể đại diện cho thời gian ngày dưới bất kỳ hình thức nào bạn muốn.

Chuyển đổi chuỗi thành ngày với thời gian diễn ra

Phương pháp

print(t)
5 đã giúp chúng tôi chuyển đổi các đối tượng ngày thành các chuỗi dễ đọc hơn. Phương pháp
import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
03 thực hiện ngược lại, nghĩa là, nó lấy các chuỗi và chuyển đổi chúng thành các đối tượng ngày mà Python có thể hiểu.

Đây là cú pháp cho phương pháp:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
2

Tham số

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
04 là giá trị trong định dạng chuỗi mà chúng tôi muốn chuyển đổi thành định dạng ngày. Tham số ____105 là chỉ thị chỉ định định dạng sẽ được thực hiện vào ngày sau khi chuyển đổi.

Ví dụ: giả sử chúng ta cần chuyển đổi chuỗi "9/15/18" thành đối tượng

t = datetime.time(1, 10, 20, 13)
4.

Trước tiên chúng ta hãy nhập mô -đun

t = datetime.time(1, 10, 20, 13)
4. Chúng tôi sẽ sử dụng từ khóa
import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
08 để có thể tham chiếu các chức năng mô -đun cụ thể mà không có định dạng DOT:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
3

Sau đó chúng ta có thể xác định ngày ở dạng chuỗi:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
4

Python sẽ không thể hiểu chuỗi trên dưới dạng DateTime cho đến khi chúng tôi chuyển đổi nó thành đối tượng

t = datetime.time(1, 10, 20, 13)
4 thực tế. Chúng tôi có thể thực hiện thành công bằng cách gọi phương thức
import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
03.

Thực hiện lệnh sau để chuyển đổi chuỗi:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
5

Bây giờ chúng ta hãy gọi chức năng

import datetime
f"{datetime.datetime.now():%Y-%m-%d}"
>>> '2017-06-15'
0 để hiển thị chuỗi ở định dạng
t = datetime.time(1, 10, 20, 13)
4:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
6

Output:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
7

Như bạn có thể thấy, việc chuyển đổi đã thành công!

Bạn có thể thấy rằng dấu gạch chéo phía trước "/" đã được sử dụng để tách các yếu tố khác nhau của chuỗi. Điều này cho biết phương thức

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
03 định dạng ngày của chúng tôi là gì, trong trường hợp của chúng tôi "/" được sử dụng làm dấu phân cách.

Nhưng điều gì sẽ xảy ra nếu ngày/tháng/năm bị tách ra bởi một "-"? Đây là cách bạn xử lý điều đó:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
8

Output:

print "We are the {:%d, %b %Y}".format(today)
>>> 'We are the 22, Nov 2008'
7

Và một lần nữa, nhờ trình xác định định dạng, phương thức

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print mylist[0] # print the date object, not the container ;-)
2008-11-22

# It's better to always use str() because :

print "This is a new day : ", mylist[0] # will work
>>> This is a new day : 2008-11-22

print "This is a new day : " + mylist[0] # will crash
>>> cannot concatenate 'str' and 'datetime.date' objects

print "This is a new day : " + str(mylist[0]) 
>>> This is a new day : 2008-11-22
03 có thể phân tích ngày của chúng tôi và chuyển đổi nó thành đối tượng ngày.

Sự kết luận

Trong bài viết này, chúng tôi đã nghiên cứu cách định dạng ngày trong Python. Chúng tôi đã thấy làm thế nào mô -đun

t = datetime.time(1, 10, 20, 13)
4 trong Python có thể được sử dụng để thao tác các giá trị ngày và thời gian. Mô -đun chứa một số lớp có thể được sử dụng cho mục đích này. Ví dụ: lớp
t = datetime.time(1, 10, 20, 13)
6 được sử dụng để biểu diễn các giá trị thời gian trong khi lớp
print(t)
0 được sử dụng để biểu diễn các giá trị ngày lịch.

Làm cách nào để nhận được ngày từ DateTime trong Python?

Đối với điều này, chúng tôi sẽ sử dụng phương thức Strptime () và mô -đun pandas. Phương thức này được sử dụng để tạo một đối tượng DateTime từ một chuỗi. Sau đó, chúng tôi sẽ trích xuất ngày từ đối tượng DateTime bằng hàm ngày () và dt. Ngày từ Pandas ở Python.use the strptime() method and Pandas module. This method is used to create a DateTime object from a string. Then we will extract the date from the DateTime object using the date() function and dt. date from Pandas in Python.

Làm cách nào để in một datetime ở một định dạng cụ thể trong Python?

Sử dụng hàm strftime () của lớp DateTime Các mã định dạng là các chỉ thị tiêu chuẩn để đề cập đến định dạng bạn muốn đại diện cho DateTime. Ví dụ:%d-%m-%y%H:%m:%s Mã chuyển đổi ngày thành DD-MM-YYYY HH: MM: SS. The format codes are standard directives for mentioning in which format you want to represent datetime. For example, the %d-%m-%Y %H:%M:%S codes convert date to dd-mm-yyyy hh:mm:ss format.

Làm cách nào để định dạng một ngày trong Python?

Ví dụ 15: định dạng ngày sử dụng strftime ()..
%Y - năm [0001, ..., 2018, 2019, ..., 9999].
%M - Tháng [01, 02, ..., 11, 12].
%d - ngày [01, 02, ..., 30, 31].
%H - giờ [00, 01, ..., 22, 23 ..
%M - phút [00, 01, ..., 58, 59].
%S - thứ hai [00, 01, ..., 58, 59].

Làm thế nào tôi có thể in ngày từ DateTime?

Bạn có thể sử dụng từ DateTime Nhập DateTime, sau đó in DateTime ().bây giờ().Strftime ("%y-%m-%d%h:%m").....
từ ngày nhập DateTime;ngày.hôm nay().....
Yêu thích của tôi là từ DateTime Nhập DateTime là DT và bây giờ chúng tôi có thể chơi với dt.now () - Diewland ..