In ngày bằng Python

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 2019
1 để 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]

Tự mình thử »

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 2019
1 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ự mình thử »

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 2019
3 [hàm tạo] của mô-đun
Enter the date[for example:09 02 2019]:09 12 2019
1

Lớp

Enter the date[for example:09 02 2019]:09 12 2019
3 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 2019
3 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 2019
7, [
Enter the date[for example:09 02 2019]:09 12 2019
8 cho múi giờ]

Phương thức strftime[]

Đối tượng

Enter the date[for example:09 02 2019]:09 12 2019
1 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à

Monday
0 và nhận một tham số,
Enter the date[for example:09 02 2019]:09 12 2019
10, để 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 2019
1 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

Monday
3, 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 2019
1. Sau đó, gọi phương thức
Monday
3 để 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 2019
1 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

Monday
3 để 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 2019
0

đầ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

Chủ Đề