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-20194 Đố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-20196 đối tượng):
Và để rõ ràng, nếu bạn in các yếu tố đó, đây là đầu ra:
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-20197 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
Ở đây, chúng tôi đã nhập lớp d1 = 16/09/2019 d2 = September 16, 2019 d3 = 09/16/19 d4 = Sep-16-20197 từ mô -đun d1 = 16/09/2019 d2 = September 16, 2019 d3 = 09/16/19 d4 = Sep-16-20199. Sau đó, chúng tôi đã sử dụng phương pháp 0 để có được ngày cục bộ hiện tại.Nhân tiện, 0 trả về một đối tượng d1 = 16/09/2019 d2 = September 16, 2019 d3 = 09/16/19 d4 = Sep-16-20197, đượ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
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-20199 của mô -đun d1 = 16/09/2019 d2 = September 16, 2019 d3 = 09/16/19 d4 = Sep-16-20199. Ví dụ 3: Nhận ngày và giờ hiện tại
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 5 để có được ngày và giờ hiện tại. Sau đó, chúng tôi đã sử dụng 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. 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. Nhận được năm, tháng, ngày, giờ và phút 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! 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. 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). 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: 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. 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. 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! Lưu ý rằng ________ 90 & nbsp; đã lấy hai đối số: chuỗi ( 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; 2 3Tì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ãy thử DataQuest Nhận ngày trong tháng và ngày trong tuần kể từ ngàyHã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: 4 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: 6 7Bâ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 PythonBâ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! 8 9Nhận tuần trong năm từ một đối tượng DateTimeChú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. 0 1Lư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: 2 3Chuyển đổi một đối tượng ngày thành Unix Timestamp và ngược lạiTrong 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: 4 5Tương tự, chúng ta có thể thực hiện chuyển đổi ngược bằng cách sử dụng 26. Đây là chức năng A & nbsp; 6 7Đo khoảng thời gian với các đối tượng thời gianThô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: 8 9Lư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: 0 1Bâ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? . 2 3Lư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ệuNhậ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 gianTươ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: 4 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. 6 7Ngà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: 45Lưu ý rằng phải mất hai đối số:
Chúng ta hãy thử chuyển đổi một loại chuỗi ngày khác nhau lần này. 8 9Bâ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: 0 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: 2 3Xử lý thời gianLà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ụ: 4 5Mô -đ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 PandasCá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:
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: 6 7Lư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: 8 9Nhận năm, tháng, ngày, giờ, phút ở PandasChú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-20190
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-20191
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-20192
Chuyển đổi đối tượng Ngày thành Chỉ mục DataFrameChú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-20193
Chuyển đổi đối tượng Ngày thành Chỉ mục DataFrameChú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ậnTrong 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! |