Hướng dẫn how do i extract date from date and time in python? - làm cách nào để trích xuất ngày từ ngày và giờ trong python?

Trả lời được cập nhật cho Python 3.7 và hơn thế nữa

Show

Đây là cách bạn có thể biến một đối tượng ngày và thời gian

(AKA

d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
4 Đối tượng, một đối tượng được lưu trữ bên trong trường mô hình Django Django)

vào một đối tượng ngày (AKA

d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
6 đối tượng):

from datetime import datetime

#your date-and-time object
# let's supposed it is defined as
datetime_element = datetime(2020, 7, 10, 12, 56, 54, 324893)

# where
# datetime_element = datetime(year, month, day, hour, minute, second, milliseconds)

# WHAT YOU WANT: your date-only object
date_element = datetime_element.date()

Và để rõ ràng, nếu bạn in các yếu tố đó, đây là đầu ra:

print(datetime_element)

2020-07-10 12: 56: 54.324893


print(date_element)

2020-07-10

Trong bài viết này, bạn sẽ học cách có được ngày và giờ hiện tại ngày hôm nay ở Python. Chúng tôi cũng sẽ định dạng ngày và giờ ở các định dạng khác nhau bằng phương thức strftime ().

Video: Ngày và giờ ở Python

Có một số cách bạn có thể thực hiện để có được ngày hiện tại. Chúng tôi sẽ sử dụng lớp

d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
7 của mô -đun DateTime để hoàn thành nhiệm vụ này.


Ví dụ 1: Python Nhận ngày hôm nay

from datetime import date

today = date.today()
print("Today's date:", today)

Ở đây, chúng tôi đã nhập lớp

d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
7 từ mô -đun
d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
9. Sau đó, chúng tôi đã sử dụng phương pháp
from datetime import datetime

# datetime object containing current date and time
now = datetime.now()
 
print("now =", now)

# dd/mm/YY H:M:S
dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
print("date and time =", dt_string)	
0 để có được ngày cục bộ hiện tại.

Nhân tiện,

from datetime import datetime

# datetime object containing current date and time
now = datetime.now()
 
print("now =", now)

# dd/mm/YY H:M:S
dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
print("date and time =", dt_string)	
0 trả về một đối tượng
d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
7, được gán cho biến ngày nay trong chương trình trên. Bây giờ, bạn có thể sử dụng phương thức strftime () để tạo một chuỗi đại diện ở các định dạng khác nhau.


Ví dụ 2: Ngày hiện tại ở các định dạng khác nhau

from datetime import date

today = date.today()

# dd/mm/YY
d1 = today.strftime("%d/%m/%Y")
print("d1 =", d1)

# Textual month, day and year	
d2 = today.strftime("%B %d, %Y")
print("d2 =", d2)

# mm/dd/y
d3 = today.strftime("%m/%d/%y")
print("d3 =", d3)

# Month abbreviation, day and year	
d4 = today.strftime("%b-%d-%Y")
print("d4 =", d4)

Khi bạn chạy chương trình, đầu ra sẽ giống như:

d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019

Nếu bạn cần có được ngày và giờ hiện tại, bạn có thể sử dụng lớp

d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
9 của mô -đun
d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
9.

Ví dụ 3: Nhận ngày và giờ hiện tại

from datetime import datetime

# datetime object containing current date and time
now = datetime.now()
 
print("now =", now)

# dd/mm/YY H:M:S
dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
print("date and time =", dt_string)	

Bạn sẽ cổng đầu ra như dưới đây.

now = 2021-06-25 07:58:56.550604
date and time = 25/06/2021 07:58:56

Ở đây, chúng tôi đã sử dụng

from datetime import datetime

# datetime object containing current date and time
now = datetime.now()
 
print("now =", now)

# dd/mm/YY H:M:S
dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
print("date and time =", dt_string)	
5 để có được ngày và giờ hiện tại. Sau đó, chúng tôi đã sử dụng
from datetime import datetime

# datetime object containing current date and time
now = datetime.now()
 
print("now =", now)

# dd/mm/YY H:M:S
dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
print("date and time =", dt_string)	
6 để tạo một chuỗi đại diện cho ngày và thời gian ở định dạng khác.

Nếu bạn muốn thực hành viết ____ 59 & nbsp; mã với kiểm tra câu trả lời tương tác, hãy xem khóa học trung gian & nbsp; Python của chúng tôi & nbsp; cho & nbsp; một bài học về DateTime trong Python với kiểm tra câu trả lời tương tác và kiểm tra mã trong trình duyệt.

Hướng dẫn how do i extract date from date and time in python? - làm cách nào để trích xuất ngày từ ngày và giờ trong python?

Bạn có thể hưởng lợi từ việc xây dựng các kỹ năng mới?

Chọn một kỹ năng bên dưới và nhấp để đăng ký miễn phí và bắt đầu học ngay lập tức!

Ngày 31 tháng 10 năm 2019

Đối phó với ngày và thời gian trong Python có thể là một rắc rối. Rất may, có một cách tích hợp để làm cho nó dễ dàng hơn: Mô-đun DateTime Python.

  • ________ 59 & nbsp; giúp chúng tôi xác định và xử lý các yếu tố liên quan đến thời gian như ngày, giờ, phút, giây, ngày trong tuần, tháng, năm, v.v. Nó cung cấp các dịch vụ khác nhau như quản lý múi giờ và thời gian tiết kiệm ánh sáng ban ngày. Nó có thể làm việc với dữ liệu dấu thời gian. Nó có thể trích xuất ngày trong tuần, ngày trong tháng và các định dạng ngày và giờ khác từ các chuỗi.
  • Nói tóm lại, nó là một cách thực sự mạnh mẽ để xử lý bất cứ ngày nào liên quan đến ngày và thời gian trong Python. Vì vậy, hãy để Lừa vào đó!
  • Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về các hàm DateTime Python một cách chi tiết, bao gồm:
  • Tạo đối tượng ngày
  • Nhận năm và tháng kể từ ngày
  • Nhận ngày tháng và ngày trong tuần kể từ ngày
  • Nhận giờ và phút kể từ ngày
  • Nhận số tuần của năm kể từ ngày
  • Chuyển đổi đối tượng ngày thành dấu thời gian
  • Chuyển đổi chuỗi dấu thời gian unix cho đến ngày đối tượng
  • Xử lý các đối tượng thời gian
  • Nhận được sự khác biệt giữa hai ngày và thời gian
    • Ngày định dạng: Strftime () và Strptime ()
    • Xử lý thời gian
    • Làm việc với các đối tượng DateTime Pandas

Nhận được năm, tháng, ngày, giờ và phút

Nhận ngày trong tuần và ngày trong năm

Chuyển đổi các đối tượng ngày thành Chỉ mục DataFrame

Khi bạn làm việc thông qua hướng dẫn này, chúng tôi khuyến khích bạn chạy mã trên máy của riêng bạn. Ngoài ra, nếu bạn muốn chạy mã trong trình duyệt của mình và học theo kiểu tương tác với kiểm tra câu trả lời để chắc chắn rằng bạn đang làm đúng, khóa học trung gian Python của chúng tôi & nbsp; giới thiệu. Bạn có thể bắt đầu học BY & NBSP; đăng ký tài khoản người dùng miễn phí.free account and try our interactive courses in Python, R, SQL, and more!

Học kỹ năng dữ liệu

Nhận mức tăng tiếp theo hoặc chuyển sang nghề nghiệp trong khoa học dữ liệu bằng cách học các kỹ năng dữ liệu.

  • Đăng ký một tài khoản miễn phí và thử các khóa học tương tác của chúng tôi tại Python, R, SQL, v.v. – Allows us to manipulate times and dates together (month, day, year, hour, second, microsecond).
  • Các lớp DateTime Python – Allows us to manipulate dates independent of time (month, day, year).
  • Trước khi nhảy vào mã viết, nó đáng để xem xét năm lớp đối tượng chính được sử dụng trong mô -đun & nbsp; ____ 59 & nbsp; Tùy thuộc vào những gì chúng tôi đang cố gắng làm, chúng tôi có thể cần phải sử dụng một hoặc nhiều lớp khác nhau sau: – Allows us to manipulate time independent of date (hour, minute, second, microsecond).
  • DateTime & nbsp; - cho phép chúng tôi thao tác với thời gian và ngày cùng nhau (tháng, ngày, năm, giờ, thứ hai, micro giây).— A duration of time used for manipulating dates and measuring.
  • Ngày & nbsp; - cho phép chúng tôi thao túng ngày độc lập với thời gian (tháng, ngày, năm).— An abstract class for dealing with time zones.

Thời gian & nbsp; - cho phép chúng tôi thao túng thời gian độc lập với ngày (giờ, phút, thứ hai, micro giây).

________ 59 & nbsp; giúp chúng tôi xác định và xử lý các yếu tố liên quan đến thời gian như ngày, giờ, phút, giây, ngày trong tuần, tháng, năm, v.v. Nó cung cấp các dịch vụ khác nhau như quản lý múi giờ và thời gian tiết kiệm ánh sáng ban ngày. Nó có thể làm việc với dữ liệu dấu thời gian. Nó có thể trích xuất ngày trong tuần, ngày trong tháng và các định dạng ngày và giờ khác từ các chuỗi.

Nói tóm lại, nó là một cách thực sự mạnh mẽ để xử lý bất cứ ngày nào liên quan đến ngày và thời gian trong Python. Vì vậy, hãy để Lừa vào đó!

Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về các hàm DateTime Python một cách chi tiết, bao gồm:

# import datetime class from datetime module
from datetime import datetime

# get current date
datetime_object = datetime.now()
print(datetime_object)
print('Type :- ',type(datetime_object))
2019-10-25 10:24:01.521881
Type :-  'datetime.datetime'

Chúng ta có thể thấy từ các kết quả ở trên mà ____ 78 & nbsp; thực sự là a & nbsp; ____ 59 & nbsp; đối tượng của & nbsp; ________ 59 & nbsp; class. Điều này bao gồm các năm, tháng, ngày, giờ, phút, thứ hai và micro giây.

Trích xuất năm và tháng kể từ ngày

Bây giờ chúng ta đã thấy những gì tạo nên một & nbsp; ____ 59 & nbsp; đối tượng, chúng ta có thể đoán cách & nbsp; ________ 83 & nbsp; các đối tượng giống như & nbsp; ________ 59 & nbsp; không có dữ liệu ngày.

Chúng ta cũng có thể chống lại một số vấn đề. Ví dụ: trong hầu hết các bộ dữ liệu, thông tin ngày và thời gian được lưu trữ ở định dạng chuỗi! Ngoài ra, chúng tôi không thể & nbsp; muốn & nbsp; tất cả dữ liệu ngày và giờ này - nếu chúng tôi làm một cái gì đó như phân tích bán hàng hàng tháng, việc phá vỡ mọi thứ của microsecond sẽ rất hữu ích.

Vì vậy, bây giờ, hãy để bắt đầu đào sâu vào một nhiệm vụ chung trong khoa học dữ liệu: chỉ trích xuất các yếu tố mà chúng ta thực sự muốn từ một chuỗi sử dụng & nbsp; ________ 59.

Để làm điều này, chúng ta cần phải làm một vài điều.

Xử lý các chuỗi ngày và thời gian với Strptime () và Strftime ()

Rất may, ________ 59 & nbsp; bao gồm hai phương thức, & nbsp; ________ 90 & nbsp; và & nbsp; ____ ____ 66, để chuyển đổi các đối tượng từ các chuỗi sang & nbsp; ________ 59 & nbsp; , và & nbsp; ________ 66 & nbsp; chuyển đổi các đối tượng DateTime trở lại thành chuỗi.

Tất nhiên, & nbsp; ________ 90 & nbsp; isn Magic Magic - nó có thể biến & nbsp; bất kỳ & nbsp; chuỗi thành một ngày và thời gian, và nó sẽ cần một chút trợ giúp từ chúng tôi để giải thích những gì nó nhìn thấy! Nhưng nó có khả năng đọc hầu hết các định dạng chuỗi thông thường cho dữ liệu ngày và giờ (xem & NBSP; tài liệu để biết thêm chi tiết). Hãy để cho nó một chuỗi ngày ở định dạng Yyyy-MM-DD và xem những gì nó có thể làm!

print(datetime_element)
0
print(datetime_element)
1

Lưu ý rằng ________ 90 & nbsp; đã lấy hai đối số: chuỗi (

2019-10-25 10:24:01.521881
Type :-  'datetime.datetime'
8) và & nbsp; ________ 99, một chuỗi khác cho biết & nbsp; chuỗi là năm.

Một danh sách đầy đủ các mẫu này có sẵn trong & nbsp; tài liệu và chúng tôi sẽ đi vào các phương pháp này về chiều sâu hơn sau này trong hướng dẫn này.

Bạn cũng có thể nhận thấy rằng thời gian của & nbsp; ____ 103 & nbsp; đã được thêm vào ngày. Điều đó bởi vì chúng tôi đã tạo đối tượng A & nbsp; ____ 59 & nbsp;, phải bao gồm một ngày & nbsp; và & nbsp; một thời gian.

Dù sao, chúng tôi đã hy vọng tách ra các yếu tố cụ thể của ngày để phân tích của chúng tôi. Một cách có thể làm điều đó bằng cách sử dụng các thuộc tính lớp tích hợp của đối tượng DateTime, như & nbsp;

print(datetime_element)
2
print(datetime_element)
3

Tìm hiểu Python đúng cách.

Tìm hiểu Python bằng cách viết mã python từ ngày đầu tiên, ngay trong cửa sổ trình duyệt của bạn. Đó là cách tốt nhất để học Python - hãy tự mình xem một trong hơn 60 bài học miễn phí của chúng tôi.

Hướng dẫn how do i extract date from date and time in python? - làm cách nào để trích xuất ngày từ ngày và giờ trong python?

Hãy thử DataQuest

Nhận ngày trong tháng và ngày trong tuần kể từ ngày

Hãy cùng làm một số trích xuất thêm, bởi vì đó là một nhiệm vụ thực sự phổ biến. Lần này, chúng tôi sẽ cố gắng để có được ngày trong tháng và ngày trong tuần từ & nbsp; ____ 108. DateTime sẽ cung cấp cho chúng tôi ngày trong tuần dưới dạng một số sử dụng chức năng của nó & nbsp;

Chúng tôi sẽ bắt đầu bằng cách nhập & nbsp; ________ 110, sau đó sử dụng & nbsp; ________ 113 & nbsp; và & nbsp; ____ ____ 109 & nbsp; on & nbsp; ________ 108. Từ đó, chúng ta có thể có được ngày trong tuần ở định dạng văn bản như vậy:

print(datetime_element)
4
print(datetime_element)
5

Đợi một chút, trông hơi kỳ quặc! Ngày thứ ba trong tuần nên là thứ tư, không phải thứ năm, phải không?

Hãy cùng xem xét kỹ hơn về điều đó & nbsp; ________ 111 ​​& nbsp; Biến sử dụng một vòng lặp cho vòng lặp:

print(datetime_element)
6
print(datetime_element)
7

Bây giờ chúng ta có thể thấy rằng Python bắt đầu vài tuần vào thứ Hai và tính từ Chỉ số 0 thay vì bắt đầu từ 1. Vì vậy, điều hợp lý là số 3 được chuyển đổi thành Thứ Năm Thứ Năm như chúng ta đã thấy ở trên.

Nhận hàng giờ và phút từ một đối tượng DateTime Python

Bây giờ, hãy để đào sâu vào thời gian và trích xuất giờ và phút từ đối tượng DateTime. Giống như những gì chúng tôi đã làm ở trên với tháng và năm, chúng tôi có thể sử dụng các thuộc tính lớp & nbsp; ________ 117 & nbsp; và & nbsp; ________ 118 & nbsp; để có được giờ và phút trong ngày.

Hãy để đặt một ngày và thời gian mới bằng cách sử dụng chức năng & nbsp; ____ 76 & nbsp; Theo văn bản này, nó ngày 25 tháng 10 năm 2019 lúc 10:25 sáng. Bạn sẽ nhận được kết quả khác nhau tùy thuộc vào thời điểm bạn chọn chạy mã này, tất nhiên!

print(datetime_element)
8
print(datetime_element)
9

Nhận tuần trong năm từ một đối tượng DateTime

Chúng tôi cũng có thể làm những việc huyền ảo hơn với & nbsp; ________ 59. Ví dụ, điều gì sẽ xảy ra nếu chúng ta muốn biết đó là tuần nào trong năm?

Chúng ta có thể nhận được một năm, tuần trong năm và ngày trong tuần từ A & nbsp; ________ 59 & nbsp; đối tượng với & nbsp; ____ 122 & nbsp; chức năng.

Cụ thể, & nbsp; ________ 123 & nbsp; trả lại một tuple với năm ISO, số tuần và ngày trong tuần. & Nbsp; Lịch ISO & nbsp; là một lịch tiêu chuẩn được sử dụng rộng rãi dựa trên lịch Gregorian. Bạn có thể đọc về nó chi tiết hơn tại liên kết đó, nhưng với mục đích của chúng tôi, tất cả những gì chúng ta cần biết là nó hoạt động như một lịch thông thường, bắt đầu mỗi tuần vào thứ Hai.

print(date_element)
0
print(date_element)
1

Lưu ý rằng trong lịch ISO, tuần bắt đầu đếm từ 1, vì vậy ở đây 5 đại diện cho ngày chính xác trong tuần: Thứ Sáu.

Chúng ta có thể thấy ở trên rằng đây là tuần thứ 43 trong năm, nhưng nếu chúng ta muốn cô lập con số đó, chúng ta có thể làm như vậy với việc lập chỉ mục giống như chúng ta có thể cho bất kỳ danh sách Python hoặc tuple nào khác:

print(date_element)
2
print(date_element)
3

Chuyển đổi một đối tượng ngày thành Unix Timestamp và ngược lại

Trong lập trình, nó không phải là hiếm khi gặp dữ liệu thời gian và ngày mà Lừa lưu trữ dưới dạng dấu thời gian hoặc muốn lưu trữ dữ liệu của riêng bạn trong & nbsp; định dạng dấu thời gian của Unix.

Chúng ta có thể làm điều đó bằng cách sử dụng DateTime, tích hợp & nbsp; ________ 124 & nbsp; hàm, lấy A & nbsp; ____ 59 & nbsp; đối tượng làm đối tượng và trả về ngày và thời gian đó ở định dạng dấu thời gian:

print(date_element)
4
print(date_element)
5

Tương tự, chúng ta có thể thực hiện chuyển đổi ngược bằng cách sử dụng

print(datetime_element)
26. Đây là chức năng A & nbsp;

print(date_element)
6
print(date_element)
7

Hướng dẫn how do i extract date from date and time in python? - làm cách nào để trích xuất ngày từ ngày và giờ trong python?

Đo khoảng thời gian với các đối tượng thời gian

Thông thường, chúng ta có thể muốn đo một khoảng thời gian hoặc thời lượng, sử dụng DateTime Python. Chúng tôi có thể làm điều này với lớp tích hợp & nbsp; ____ 129 & nbsp; lớp. A & nbsp; ________ 129 & nbsp; đối tượng biểu thị lượng thời gian giữa hai ngày hoặc thời gian. Chúng ta có thể sử dụng điều này để đo lường thời gian, hoặc thao tác ngày hoặc thời gian bằng cách thêm và trừ đi từ chúng, v.v.

Theo mặc định, một đối tượng TimeDelta có tất cả các tham số được đặt thành 0. Hãy cùng tạo ra một đối tượng Timedelta mới mà Lừa dài hai tuần và xem nó trông như thế nào:

print(date_element)
8
print(date_element)
9

Lưu ý rằng chúng tôi có thể nhận được thời gian thời gian của chúng tôi theo ngày bằng cách sử dụng thuộc tính lớp ____ 129 & nbsp; lớp & nbsp; ________ 132. Như chúng ta có thể thấy trong & nbsp; tài liệu của nó, chúng ta cũng có thể nhận được thời gian này tính bằng giây hoặc micro giây.

Hãy để tạo ra một thời gian khác thời gian để thực hành thêm một chút:

from datetime import date

today = date.today()
print("Today's date:", today)
0
from datetime import date

today = date.today()
print("Today's date:", today)
1

Bây giờ, hãy để bắt đầu thực hiện bằng cách sử dụng các đối tượng TimeDelta cùng với các đối tượng DateTime để thực hiện một số toán học! Cụ thể, hãy để thêm một vài khoảng thời gian khác nhau vào thời gian và ngày hiện tại để xem ngày nào sau 15 ngày, ngày này là hai tuần trước.

Để làm điều này, chúng ta có thể sử dụng & nbsp; ____ 133 & nbsp; hoặc & nbsp; ________ 134 & nbsp; toán tử để thêm hoặc trừ đối tượng Timedelta vào/từ đối tượng DateTime. Kết quả sẽ là đối tượng DateTime Plus hoặc trừ thời gian của thời gian được chỉ định trong đối tượng TimedelTA của chúng tôi. Tuyệt, phải không?

.

from datetime import date

today = date.today()
print("Today's date:", today)
2
from datetime import date

today = date.today()
print("Today's date:", today)
3

Lưu ý rằng đầu ra của các hoạt động toán học này vẫn là một đối tượng ____ 59 & nbsp;

Học kỹ năng dữ liệu

Nhận mức tăng tiếp theo hoặc chuyển sang nghề nghiệp trong khoa học dữ liệu bằng cách học các kỹ năng dữ liệu.

Đăng ký một tài khoản miễn phí và thử các khóa học tương tác của chúng tôi tại Python, R, SQL, v.v.free account and try our interactive courses in Python, R, SQL, and more!

Tìm sự khác biệt giữa hai ngày và thời gian

Tương tự như những gì chúng tôi đã làm ở trên, chúng tôi cũng có thể trừ một ngày từ ngày khác để tìm thời gian giữa họ bằng cách sử dụng DateTime.

Bởi vì kết quả của toán học này là thời lượng A & nbsp;, đối tượng được tạo ra khi chúng ta trừ một ngày từ một ngày khác sẽ là A & nbsp; ________ 129 & nbsp; đối tượng.

Ở đây, chúng tôi sẽ tạo hai & nbsp; ____ 57 & nbsp; đối tượng (remeber, chúng hoạt động giống như & nbsp; ____ 59 & nbsp; đối tượng, chúng chỉ bao gồm dữ liệu thời gian) và trừ cái này từ cái kia để tìm thời lượng:

from datetime import date

today = date.today()
print("Today's date:", today)
4
from datetime import date

today = date.today()
print("Today's date:", today)
5

Ở trên, chúng tôi chỉ sử dụng ngày vì sự rõ ràng, nhưng chúng tôi có thể làm điều tương tự với các đối tượng ____ 59 & nbsp; để có được một phép đo chính xác hơn bao gồm cả giờ, phút và giây.

from datetime import date

today = date.today()
print("Today's date:", today)
6
from datetime import date

today = date.today()
print("Today's date:", today)
7

Hướng dẫn how do i extract date from date and time in python? - làm cách nào để trích xuất ngày từ ngày và giờ trong python?

Ngày định dạng: Thêm về Strftime () và Strptime ()

Chúng tôi đã chạm vào một thời gian ngắn trên & nbsp;

________ 90 & nbsp; là phương thức chúng tôi đã sử dụng trước đây và bạn sẽ nhớ lại rằng nó có thể biến một ngày và thời gian mà định dạng thành một chuỗi văn bản thành một đối tượng DateTime, theo định dạng sau:

print(datetime_element)
45

Lưu ý rằng phải mất hai đối số:

  • Chuỗi - thời gian ở định dạng chuỗi mà chúng tôi muốn chuyển đổi
  • Định dạng - Định dạng cụ thể của thời gian trong chuỗi, để strptime () có thể phân tích chính xác

Chúng ta hãy thử chuyển đổi một loại chuỗi ngày khác nhau lần này.

from datetime import date

today = date.today()
print("Today's date:", today)
8
from datetime import date

today = date.today()
print("Today's date:", today)
9

Bây giờ, hãy để Lừa làm một cái gì đó nâng cao hơn một chút để thực hành mọi thứ mà chúng tôi đã học được cho đến nay! Chúng tôi sẽ bắt đầu với một ngày ở định dạng chuỗi, chuyển đổi nó thành một đối tượng DateTime và xem một vài cách khác nhau để định dạng nó (DD/mm và mm/dd).

Sau đó, gắn bó với định dạng MM/DD, chúng tôi sẽ chuyển đổi nó thành dấu thời gian UNIX. Sau đó, chúng tôi sẽ chuyển đổi nó trở lại thành A & nbsp; ____ 59 & nbsp; đối tượng và chuyển đổi & nbsp; rằng & nbsp; trở lại thành chuỗi bằng một vài mẫu khác nhau & nbsp; strftime & nbsp; để kiểm soát đầu ra:

from datetime import date

today = date.today()

# dd/mm/YY
d1 = today.strftime("%d/%m/%Y")
print("d1 =", d1)

# Textual month, day and year	
d2 = today.strftime("%B %d, %Y")
print("d2 =", d2)

# mm/dd/y
d3 = today.strftime("%m/%d/%y")
print("d3 =", d3)

# Month abbreviation, day and year	
d4 = today.strftime("%b-%d-%Y")
print("d4 =", d4)
0
from datetime import date

today = date.today()

# dd/mm/YY
d1 = today.strftime("%d/%m/%Y")
print("d1 =", d1)

# Textual month, day and year	
d2 = today.strftime("%B %d, %Y")
print("d2 =", d2)

# mm/dd/y
d3 = today.strftime("%m/%d/%y")
print("d3 =", d3)

# Month abbreviation, day and year	
d4 = today.strftime("%b-%d-%Y")
print("d4 =", d4)
1

Ở đây, một hình ảnh bạn có thể lưu với một bảng gian lận cho các mẫu thông thường, hữu ích và thời gian sử dụng:

Hãy để có được một chút thực hành bằng cách sử dụng những điều này:

from datetime import date

today = date.today()

# dd/mm/YY
d1 = today.strftime("%d/%m/%Y")
print("d1 =", d1)

# Textual month, day and year	
d2 = today.strftime("%B %d, %Y")
print("d2 =", d2)

# mm/dd/y
d3 = today.strftime("%m/%d/%y")
print("d3 =", d3)

# Month abbreviation, day and year	
d4 = today.strftime("%b-%d-%Y")
print("d4 =", d4)
2
from datetime import date

today = date.today()

# dd/mm/YY
d1 = today.strftime("%d/%m/%Y")
print("d1 =", d1)

# Textual month, day and year	
d2 = today.strftime("%B %d, %Y")
print("d2 =", d2)

# mm/dd/y
d3 = today.strftime("%m/%d/%y")
print("d3 =", d3)

# Month abbreviation, day and year	
d4 = today.strftime("%b-%d-%Y")
print("d4 =", d4)
3

Xử lý thời gian

Làm việc với ngày và thời gian trong Pythin có thể thậm chí còn phức tạp hơn khi thời gian tham gia. Rất may, mô-đun & nbsp; ____ 148 & nbsp; tồn tại để giúp chúng tôi đối phó với các chuyển đổi chéo thời gian. Nó cũng xử lý thời gian tiết kiệm ánh sáng ban ngày tại các vị trí sử dụng điều đó.

Chúng ta có thể sử dụng chức năng & nbsp; ____ 149 & nbsp; để thêm vị trí múi giờ vào đối tượng DateTime Python. Sau đó, chúng tôi có thể sử dụng hàm & nbsp; ________ 150 & nbsp; để chuyển đổi múi giờ địa phương hiện có thành bất kỳ múi giờ nào khác mà chúng tôi chỉ định (nó cần múi giờ chúng tôi muốn chuyển đổi thành một đối số).

Ví dụ:

from datetime import date

today = date.today()

# dd/mm/YY
d1 = today.strftime("%d/%m/%Y")
print("d1 =", d1)

# Textual month, day and year	
d2 = today.strftime("%B %d, %Y")
print("d2 =", d2)

# mm/dd/y
d3 = today.strftime("%m/%d/%y")
print("d3 =", d3)

# Month abbreviation, day and year	
d4 = today.strftime("%b-%d-%Y")
print("d4 =", d4)
4
from datetime import date

today = date.today()

# dd/mm/YY
d1 = today.strftime("%d/%m/%Y")
print("d1 =", d1)

# Textual month, day and year	
d2 = today.strftime("%B %d, %Y")
print("d2 =", d2)

# mm/dd/y
d3 = today.strftime("%m/%d/%y")
print("d3 =", d3)

# Month abbreviation, day and year	
d4 = today.strftime("%b-%d-%Y")
print("d4 =", d4)
5

Mô -đun này có thể giúp cuộc sống đơn giản hơn khi làm việc với các bộ dữ liệu bao gồm nhiều múi giờ khác nhau.

Làm việc với các đối tượng DateTime Pandas

Các nhà khoa học dữ liệu yêu thích & nbsp; ________ 151 & nbsp; vì nhiều lý do. Một trong số đó là nó chứa các khả năng và tính năng rộng lớn để làm việc với dữ liệu chuỗi thời gian. Giống như & nbsp; ________ 59 & nbsp; chính nó, gandas có cả & nbsp; ____ 59 & nbsp; và & nbsp;

Chúng ta có thể chuyển đổi các chuỗi văn bản ngày, thời gian và thời lượng thành các đối tượng DateTime Pandas bằng cách sử dụng các chức năng này:

  • TO_DATETIME (): Chuyển đổi ngày và thời gian chuỗi thành các đối tượng DateTime Python.: Converts string dates and times into Python datetime objects.
  • TO_TIMEDELTA (): Tìm sự khác biệt về thời gian về ngày, giờ, phút và giây.: Finds differences in times in terms of days, hours, minutes, and seconds.

Và như chúng tôi sẽ thấy, các chức năng này thực sự khá tốt trong việc chuyển đổi các chuỗi thành các đối tượng DateTime Python bằng cách phát hiện định dạng của chúng một cách tự động, mà không cần chúng tôi xác định nó bằng cách sử dụng các mẫu strftime.

Hãy cùng xem một ví dụ nhanh:

from datetime import date

today = date.today()

# dd/mm/YY
d1 = today.strftime("%d/%m/%Y")
print("d1 =", d1)

# Textual month, day and year	
d2 = today.strftime("%B %d, %Y")
print("d2 =", d2)

# mm/dd/y
d3 = today.strftime("%m/%d/%y")
print("d3 =", d3)

# Month abbreviation, day and year	
d4 = today.strftime("%b-%d-%Y")
print("d4 =", d4)
6
from datetime import date

today = date.today()

# dd/mm/YY
d1 = today.strftime("%d/%m/%Y")
print("d1 =", d1)

# Textual month, day and year	
d2 = today.strftime("%B %d, %Y")
print("d2 =", d2)

# mm/dd/y
d3 = today.strftime("%m/%d/%y")
print("d3 =", d3)

# Month abbreviation, day and year	
d4 = today.strftime("%b-%d-%Y")
print("d4 =", d4)
7

Lưu ý rằng mặc dù chúng tôi đã cho nó một chuỗi với một số yếu tố phức tạp như của một người khác và và sep sep, chứ không phải là ngày 9 tháng 9. Hoặc tháng 9, tháng 9, Pandas đã có thể phân tích chính xác chuỗi và trả về một ngày được định dạng.

Chúng ta cũng có thể sử dụng gấu trúc (và một số chức năng numpy liên kết của nó) để tạo phạm vi ngày tự động dưới dạng loạt gandas. Dưới đây, ví dụ, chúng tôi tạo ra một loạt mười hai ngày bắt đầu từ ngày chúng tôi xác định ở trên. Sau đó, chúng tôi tạo một loạt ngày khác bắt đầu từ một ngày được xác định trước bằng cách sử dụng & nbsp; ________ 155:

from datetime import date

today = date.today()

# dd/mm/YY
d1 = today.strftime("%d/%m/%Y")
print("d1 =", d1)

# Textual month, day and year	
d2 = today.strftime("%B %d, %Y")
print("d2 =", d2)

# mm/dd/y
d3 = today.strftime("%m/%d/%y")
print("d3 =", d3)

# Month abbreviation, day and year	
d4 = today.strftime("%b-%d-%Y")
print("d4 =", d4)
8
from datetime import date

today = date.today()

# dd/mm/YY
d1 = today.strftime("%d/%m/%Y")
print("d1 =", d1)

# Textual month, day and year	
d2 = today.strftime("%B %d, %Y")
print("d2 =", d2)

# mm/dd/y
d3 = today.strftime("%m/%d/%y")
print("d3 =", d3)

# Month abbreviation, day and year	
d4 = today.strftime("%b-%d-%Y")
print("d4 =", d4)
9

Nhận năm, tháng, ngày, giờ, phút ở Pandas

Chúng ta có thể dễ dàng nhận được một năm, tháng, ngày, giờ hoặc phút từ ngày trong một cột của gấu trúc DataFrame bằng cách sử dụng & nbsp; ________ 156 & nbsp; thuộc tính cho tất cả các cột. Ví dụ: chúng ta có thể sử dụng & nbsp; ________ 157 & nbsp; chỉ trích xuất năm từ cột gấu trúc bao gồm toàn bộ ngày.

Để khám phá điều này, hãy để Lôi tạo một DataFrame nhanh bằng một trong những loạt chúng tôi đã tạo ở trên:

d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
0

ngày
02019-08-10
12019-08-11
22019-08-12
32019-08-13
42019-08-14

Bây giờ, hãy để Lôi tạo các cột riêng biệt cho từng phần tử của ngày bằng cách sử dụng các thuộc tính Python DateTime (được truy cập với & NBSP; ____ 156) có liên quan:

d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
1

ngày2019-08-102019-08-112019-08-122019-08-132019-08-14
02019-08-102019 8 10 0 0
12019-08-112019 8 11 0 0
22019-08-122019 8 12 0 0
32019-08-132019 8 13 0 0
42019-08-142019 8 14 0 0

Bây giờ, hãy để Lôi tạo các cột riêng biệt cho từng phần tử của ngày bằng cách sử dụng các thuộc tính Python DateTime (được truy cập với & NBSP; ____ 156) có liên quan:

năm

d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
2

ngàynămthángngàygiờphútNgày trong tuầnday_nameDayofyear
02019-08-102019 8 10 0 0 5 Thứ bảy222
12019-08-112019 8 11 0 0 6 Chủ nhật223
22019-08-122019 8 12 0 0 0 Thứ hai224
32019-08-132019 8 13 0 0 1 Thứ ba225
42019-08-142019 8 14 0 0 2 Thứ Tư226

Chuyển đổi đối tượng Ngày thành Chỉ mục DataFrame

Chúng tôi cũng có thể sử dụng gấu trúc để tạo cột DateTime thành chỉ mục của DataFrame của chúng tôi. Điều này có thể rất hữu ích cho các tác vụ như trực quan hóa dữ liệu khám phá, bởi vì matplotlib sẽ nhận ra rằng chỉ mục DataFrame là một chuỗi thời gian và vẽ dữ liệu phù hợp.

Để làm điều này, tất cả những gì chúng ta phải làm là xác định lại & nbsp; ________ 160:

d1 = 16/09/2019
d2 = September 16, 2019
d3 = 09/16/19
d4 = Sep-16-2019
3

ngàynămthángngàygiờphútNgày trong tuầnday_nameDayofyear
ngày
2019-08-102019-08-102019 8 10 0 0 5 Thứ bảy222
2019-08-112019-08-112019 8 11 0 0 6 Chủ nhật223
2019-08-122019-08-122019 8 12 0 0 0 Thứ hai224
2019-08-132019-08-132019 8 13 0 0 1 Thứ ba225
2019-08-142019-08-142019 8 14 0 0 2 Thứ Tư226

Chuyển đổi đối tượng Ngày thành Chỉ mục DataFrame

Chúng tôi cũng có thể sử dụng gấu trúc để tạo cột DateTime thành chỉ mục của DataFrame của chúng tôi. Điều này có thể rất hữu ích cho các tác vụ như trực quan hóa dữ liệu khám phá, bởi vì matplotlib sẽ nhận ra rằng chỉ mục DataFrame là một chuỗi thời gian và vẽ dữ liệu phù hợp.

Để làm điều này, tất cả những gì chúng ta phải làm là xác định lại & nbsp; ________ 160:

Sự kết luận

Trong hướng dẫn này, chúng tôi đã đi sâu vào Datetime Python, và cũng thực hiện một số công việc với Pandas và mô -đun Lịch. Chúng tôi đã bao gồm rất nhiều, nhưng hãy nhớ: cách tốt nhất để học một cái gì đó là bằng cách thực sự viết mã!click to sign up for free and start learning instantly!