Hướng dẫn này sẽ chỉ cho bạn cách tìm tên ngày từ ngày đã cho trong Python. Chúng ta có thể sử dụng hàm strptime[] hoặc strftime[] để thực hiện tác vụ này
Dưới đây là hai phương pháp để lấy tên ngày từ ngày
Phương pháp 1. Sử dụng hàm strptime[]
Chúng ta hãy xem ví dụ sau
import datetime date=str[input['Enter the date[for example:09 02 2019]:']] day_name= ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday','Sunday'] day = datetime.datetime.strptime[date, '%d %m %Y'].weekday[] print[day_name[day]]
Trong ví dụ này, chúng tôi đã nhập mô-đun datetime có sẵn trong Python
Hãy để chúng tôi nhìn vào làm việc của chương trình này
- Đầu tiên, ngày được cung cấp dưới dạng đầu vào chuỗi
- Định nghĩa một danh sách với tên các ngày trong tuần có tên day_name
- Sau đó, hàm strptime[] định dạng chuỗi đầu vào thành DD. MM. định dạng YYYY
- Hàm weekday[] trả về một số nguyên tương ứng với ngày trong tuần
- Cuối cùng, in ngày của ngày bằng cách chỉ định số nguyên được trả về đó làm giá trị chỉ mục của danh sách day_name
Đầu vào
Enter the date[for example:09 02 2019]:09 12 2019
đầu ra
Monday
Phương pháp 2. Sử dụng hàm strftime[]
Chúng ta hãy xem ví dụ sau
import datetime from datetime import date date=str[input['Enter the date[for example:09 02 2019]:']] day, month, year = date.split[' '] day_name = datetime.date[int[year], int[month], int[day]] print[day_name.strftime["%A"]]
Trong ví dụ này cũng vậy, ngày được lấy làm đầu vào chuỗi. Chuỗi đầu vào được tách thành ngày, tháng và năm bằng hàm split[]. Hàm strftime[] nhận một hoặc hai mã định dạng và trả về một chuỗi được định dạng. Chỉ thị “%A” được thông qua để cung cấp tên ngày trong tuần đầy đủ cho ngày đã cho
Ngày tháng trong Python không phải là kiểu dữ liệu của riêng nó, nhưng chúng ta có thể nhập một mô-đun có tên
Enter the date[for example:09 02 2019]:09 12 20191 để làm việc với ngày tháng dưới dạng đối tượng ngày tháng
Ví dụ
Nhập mô-đun datetime và hiển thị ngày hiện tại
nhập ngày giờ
x = ngày giờ. ngày giờ. bây giờ[]
in[x]
Xuất ngày
Khi chúng tôi thực thi mã từ ví dụ trên, kết quả sẽ là
Ngày chứa năm, tháng, ngày, giờ, phút, giây và micro giây
Mô-đun
Enter the date[for example:09 02 2019]:09 12 20191 có nhiều phương thức để trả về thông tin về đối tượng ngày tháng
Dưới đây là một vài ví dụ, bạn sẽ tìm hiểu thêm về chúng ở phần sau của chương này
Ví dụ
Trả về năm và tên của ngày trong tuần
nhập ngày giờ
x = ngày giờ. ngày giờ. hiện nay[]
in[x. năm]
in[x. strftime["%A"]]
Tạo đối tượng ngày
Để tạo ngày, chúng ta có thể sử dụng lớp
Enter the date[for example:09 02 2019]:09 12 20193 [hàm tạo] của mô-đun
Enter the date[for example:09 02 2019]:09 12 20191
Lớp
Enter the date[for example:09 02 2019]:09 12 20193 yêu cầu ba tham số để tạo ngày. năm tháng ngày
Ví dụ
Tạo một đối tượng ngày
nhập ngày giờ
x = ngày giờ. ngày giờ[2020, 5, 17]
in[x]
Tự mình thử »Lớp
Enter the date[for example:09 02 2019]:09 12 20193 cũng nhận các tham số về thời gian và múi giờ [giờ, phút, giây, micro giây, tzone], nhưng chúng là tùy chọn và có giá trị mặc định là
Enter the date[for example:09 02 2019]:09 12 20197, [
Enter the date[for example:09 02 2019]:09 12 20198 cho múi giờ]
Phương thức strftime[]
Đối tượng
Enter the date[for example:09 02 2019]:09 12 20191 có phương thức định dạng đối tượng ngày tháng thành chuỗi có thể đọc được
Phương thức này được gọi là
Monday0 và nhận một tham số,
Enter the date[for example:09 02 2019]:09 12 201910, để chỉ định định dạng của chuỗi được trả về
Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên
Trình chỉnh sửa mã Python
Đóng góp mã và nhận xét của bạn thông qua Disqus
Trước. Viết chương trình Python để chuyển đổi ngày thành datetime [nửa đêm của ngày].
Tiếp theo. Viết chương trình Python để cộng 5 giây với thời gian hiện tại.
Mức độ khó của bài tập này là gì?
Dễ dàng trung bình khóKiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
con trăn. Lời khuyên trong ngày
Làm cho nó bất biến
Hàm freezeset[] cho phép danh sách không thay đổi
Trong một số trường hợp, bạn có thể đã bắt đầu chương trình của mình với một danh sách thay vì các bộ vì kết luận rằng cấu trúc dữ liệu có thể thay đổi phù hợp hơn cho dự án. Nhưng mọi thứ thay đổi, các dự án phát triển và ý tưởng được biết là thay đổi lộ trình. Bây giờ bạn quyết định rằng bạn cần cấu trúc bất biến nhưng dường như đã quá muộn để thực hiện công việc chuyển đổi danh sách tẻ nhạt của bạn? . Frozenset[] sẽ làm cho nó trở nên dễ dàng
Bài viết này sẽ giải thích cách bạn có thể nhận được ngày trong tuần. thứ hai, thứ ba, v.v. , được cung cấp một ngày cụ thể bằng Python. Dưới đây là một số ví dụ về đầu vào và đầu ra
Input: 2020, 7, 24 Output: Friday
Tôi sẽ chia sẻ các cách tiếp cận khác nhau để giải quyết vấn đề này bằng các thư viện khác nhau
Thư viện datetime là thư viện tích hợp sẵn của python, không cần cài đặt thư viện với pip. Thư viện
Enter the date[for example:09 02 2019]:09 12 20191 là thư viện giúp thao tác ngày và giờ theo cả hai cách đơn giản và phức tạp.
Thư viện này cung cấp phương thức
Monday3, trả về một số từ 0 đến 7, đại diện cho ngày trong tuần
Đoạn mã dưới đây lấy ngày trong tuần cho một ngày nhất định. Mã này sẽ chuyển đổi ngày, được hình thành theo năm, tháng và ngày thành một ngày
Enter the date[for example:09 02 2019]:09 12 20191. Sau đó, gọi phương thức
Monday3 để lấy 'ngày trong tuần' và ánh xạ nó tới một ngày cụ thể trong văn bản
import datetime week_days=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"] week_num=datetime.date[2020,7,24].weekday[] print[week_days[week_num]]
Thư viện
Enter the date[for example:09 02 2019]:09 12 20191 cung cấp một phương pháp khác cho phép bạn lấy ngày trong tuần. Phương thức
import datetime week_days=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"] week_num=datetime.date[2020,7,24].weekday[] print[week_days[week_num]]1 bao gồm chức năng tạo một chuỗi đại diện cho ngày đã cho. Bạn có thể chuyển các mã định dạng khác nhau và nó sẽ trả về các biểu diễn chuỗi khác nhau về ngày của bạn
print[datetime.date[2020,7,24].strftime['%A']]
đầu ra
Ví dụ mã định dạng khác. [Xem danh sách mã định dạng tại đây]
________số 8
đầu ra
Sử dụng thư viện lịch
Thư viện Lịch là một thư viện python tích hợp khác tiện dụng khi thao tác với ngày tháng. Kiểm tra tất cả các chức năng có sẵn
Tại sao có hai thư viện? . Hay đổi lịch nên ngày đầu tuần là chủ nhật. Nói cách khác, chức năng bổ sung để điều khiển lịch
Và nó cũng bao gồm phương pháp
Monday3 để có được một ngày trong tuần với một ngày được hình thành theo năm, tháng và ngày. Dưới đây là một ví dụ về cách sử dụng phương pháp này
import calendar week_days=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"] weekday= calendar.weekday[2020,7,24] print[week_days[weekday]]
đầu ra
Không sử dụng thư viện
Bạn cũng có thể tránh sử dụng các thư viện và tự triển khai chức năng này. Để làm như vậy, trước tiên, tôi khuyên bạn nên xem công thức của Zeller cho lịch Gregorian. Công thức này sẽ giúp bạn lấy ngày trong tuần, số từ 0 đến 7, dựa trên lịch Gregorian.
Mã bên dưới đang triển khai công thức của Zeller. Mã này chỉ xem xét lịch Gregorian, đây là thứ mà hầu hết thế giới sử dụng ngày nay
Enter the date[for example:09 02 2019]:09 12 20190
đầu ra
Phần kết luận
Tóm lại, hướng dẫn này trình bày các cách khác nhau để lấy ngày trong tuần bằng Python. Bạn có thể sử dụng thư viện datetime hoặc lịch, cả hai thư viện tích hợp sẵn. Hoặc bạn có thể tự triển khai chức năng bằng công thức của Zeller
Tôi hy vọng hướng dẫn này hữu ích. Cảm ơn bạn rất nhiều vì đã đọc và ủng hộ blog này. mã hóa hạnh phúc