In 7 ngày cuối cùng của tháng trong python

Cho một đối tượng datetime, nhiệm vụ là viết Chương trình Python để tính ngày cuối cùng của đối tượng datetime Tháng

ví dụ

Đầu vào. test_date = ngày giờ. ngày giờ[2018, 6, 4]

đầu ra. 30

Giải trình. Tháng 4 mỗi năm có 30 ngày

Đầu vào. test_date = ngày giờ. ngày giờ[2020, 2, 4]

đầu ra. 29

Giải trình. Tháng 2 năm 2020 có 29 ngày là năm nhuận

Phương pháp số 1. Sử dụng thay thế [] + timedelta []

Trong đó, trích xuất tháng tiếp theo và trừ đi ngày của đối tượng tháng tiếp theo được trích xuất từ ​​tháng tiếp theo, kết quả là 1 ngày trước khi bắt đầu tháng tiếp theo, i. ngày cuối cùng của tháng hiện tại

Python3




The original date is : 2018-06-04 00:00:00
Last date of month : 30
5

The original date is : 2018-06-04 00:00:00
Last date of month : 30
6

The original date is : 2018-06-04 00:00:00
Last date of month : 30
7

The original date is : 2018-06-04 00:00:00
Last date of month : 30
8
The original date is : 2018-06-04 00:00:00
Last date of month : 30
9

 

The original date is : 2018-06-04 00:00:00
Last date of month : 30
0

The original date is : 2018-06-04 00:00:00
Last date of month : 30
1
The original date is : 2018-06-04 00:00:00
Last date of month : 30
2
The original date is : 2018-06-04 00:00:00
Last date of month : 30
0
The original date is : 2018-06-04 00:00:00
Last date of month : 30
1
The original date is : 2018-06-04 00:00:00
Last date of month : 30
2
The original date is : 2018-06-04 00:00:00
Last date of month : 30
3
The original date is : 2018-06-04 00:00:00
Last date of month : 30
2
The original date is : 2018-06-04 00:00:00
Last date of month : 30
5
The original date is : 2018-06-04 00:00:00
Last date of month : 30
6

The original date is : 2018-06-04 00:00:00
Last date of month : 30
7

The original date is : 2018-06-04 00:00:00
Last date of month : 30
8

The original date is : 2018-06-04 00:00:00
Last date of month : 30
9
The original date is : 2018-06-04 00:00:00
Last date of month : 30
50____151
The original date is : 2018-06-04 00:00:00
Last date of month : 30
52
The original date is : 2018-06-04 00:00:00
Last date of month : 30
53
The original date is : 2018-06-04 00:00:00
Last date of month : 30
54

 

The original date is : 2018-06-04 00:00:00
Last date of month : 30
55

The original date is : 2018-06-04 00:00:00
Last date of month : 30
56

The original date is : 2018-06-04 00:00:00
Last date of month : 30
57

The original date is : 2018-06-04 00:00:00
Last date of month : 30
58
The original date is : 2018-06-04 00:00:00
Last date of month : 30
2
The original date is : 2018-06-04 00:00:00
Last date of month : 30
60
The original date is : 2018-06-04 00:00:00
Last date of month : 30
2
The original date is : 2018-06-04 00:00:00
Last date of month : 30
62
The original date is : 2018-06-04 00:00:00
Last date of month : 30
6
The original date is : 2018-06-04 00:00:00
Last date of month : 30
52
The original date is : 2018-06-04 00:00:00
Last date of month : 30
65
The original date is : 2018-06-04 00:00:00
Last date of month : 30
2
The original date is : 2018-06-04 00:00:00
Last date of month : 30
5
The original date is : 2018-06-04 00:00:00
Last date of month : 30
6

 

The original date is : 2018-06-04 00:00:00
Last date of month : 30
69

The original date is : 2018-06-04 00:00:00
Last date of month : 30
70

The original date is : 2018-06-04 00:00:00
Last date of month : 30
71
The original date is : 2018-06-04 00:00:00
Last date of month : 30
2
The original date is : 2018-06-04 00:00:00
Last date of month : 30
58
The original date is : 2018-06-04 00:00:00
Last date of month : 30
74
The original date is : 2018-06-04 00:00:00
Last date of month : 30
65
The original date is : 2018-06-04 00:00:00
Last date of month : 30
2
The original date is : 2018-06-04 00:00:00
Last date of month : 30
77

 

The original date is : 2018-06-04 00:00:00
Last date of month : 30
78

The original date is : 2018-06-04 00:00:00
Last date of month : 30
9
The original date is : 2018-06-04 00:00:00
Last date of month : 30
50
The original date is : 2018-06-04 00:00:00
Last date of month : 30
81
The original date is : 2018-06-04 00:00:00
Last date of month : 30
52
The original date is : 2018-06-04 00:00:00
Last date of month : 30
53
The original date is : 2018-06-04 00:00:00
Last date of month : 30
84

đầu ra

The original date is : 2018-06-04 00:00:00
Last date of month : 30

Phương pháp #2. Sử dụng lịch[]

Điều này sử dụng một chức năng sẵn có để giải quyết vấn đề này. Trong trường hợp này, năm và tháng đã cho, phạm vi có thể được tính bằng cách sử dụng monthrange[] và phần tử thứ hai của nó có thể nhận được kết quả cần thiết

Trong bài viết này, chúng ta sẽ thảo luận về cách tìm ngày cuối cùng của tháng bằng Python bằng các mô-đun khác nhau

Mục lục

  • Sử dụng lịch. hàm tháng []
  • Sử dụng dateutil. hàm relativedelta[]
  • Sử dụng mô-đun ngày giờ
  • Sử dụng gấu trúc. hàm end_time[]
  • Sử dụng gấu trúc. phạm vi ngày []

Sử dụng hàm
The original date is : 2018-06-04 00:00:00
Last date of month : 30
4

Hàm

The original date is : 2018-06-04 00:00:00
Last date of month : 30
5 được sử dụng để trả về một bộ chứa ngày trong tuần đầu tiên của tháng và tổng số ngày trong tháng. Chúng ta phải chuyển năm và tháng cho chức năng này

Sau khi nhận được các giá trị nêu trên, chúng ta sẽ tạo một đối tượng ngày mới sử dụng ngày đã cho và sử dụng hàm

The original date is : 2018-06-04 00:00:00
Last date of month : 30
6 để thay thế số ngày bằng tổng số ngày trong tháng đó

Ví dụ,

1

2

3

4

5

6

7

 

nhập lịch

nhập ngày giờ

ngày = ngày giờ. ngày[2021,5,16]

d = ngày. thay thế[ngày = lịch . .khoảng tháng[ngày. năm, ngày. tháng][1]]

in[d]

 

đầu ra

2021-05-31

Đối với Trăn 3. 7 trở lên, chúng ta cũng có thể sử dụng hàm

The original date is : 2018-06-04 00:00:00
Last date of month : 30
7 từ mô-đun này để trả về tổng số ngày trong một tháng

Sử dụng hàm
The original date is : 2018-06-04 00:00:00
Last date of month : 30
8

dateutil có thể được coi là một phần mở rộng cho mô-đun datetime. Cả hai mô-đun này thường được sử dụng cùng nhau và mô-đun dateutil cung cấp nhiều chức năng để hoạt động trên các đối tượng ngày giờ. Chúng ta có thể sử dụng hàm

The original date is : 2018-06-04 00:00:00
Last date of month : 30
9 để tính ngày cuối cùng của tháng từ một ngày nhất định

Ví dụ,

1

2

3

4

5

6

 

nhập ngày giờ

từ dateutil. delta tương đối nhập delta tương đối

d = [ngày giờ. ngày[2021, 5, 16] + relativedelta[day=31]]

in[d]

 

đầu ra

2021-05-31

Đoạn mã trên đưa ra ngày cuối cùng của tháng trong đối tượng datetime

Sử dụng mô-đun ngày giờ

Chúng ta có thể tạo một hàm nhỏ của riêng mình để trả về ngày cuối cùng của tháng bằng cách sử dụng mô-đun datetime. Phương pháp này có thể được coi là độc đáo nhưng mang lại kết quả mong muốn. Về cơ bản, chúng tôi tính ngày đầu tiên của tháng tiếp theo từ một ngày nhất định, sau đó chúng tôi trừ đi 1 ngày từ ngày này và chúng tôi nhận được ngày của ngày cuối cùng của tháng

Đoạn mã sau thực hiện phương pháp trên

1

2

3

4

5

6

7

 

nhập ngày giờ

def lom[năm, month, day]:

    d = ngày giờ. ngày[năm + int . [month/12], month%12+1, 1]-datetime.timedelta[ngày = 1]

    return d

in[lom[2021,5,16]]  

 

đầu ra

2021-05-31

0 ở đây chỉ ra rằng ngày đó là thứ Hai

Sử dụng hàm
The original date is : 2018-06-04 00:00:00
Last date of month : 30
0

Mô-đun pandas xử lý rất thường xuyên với dữ liệu chứa giá trị ngày và giờ. Đó là lý do tại sao nó được trang bị các chức năng khác nhau có thể hoạt động với các giá trị như vậy. Không nên sử dụng các phương pháp từ mô-đun này trừ khi một phương pháp đang làm việc với DataFrames

Hàm

The original date is : 2018-06-04 00:00:00
Last date of month : 30
1 có thể trả về ngày và giờ cuối cùng của một khoảng thời gian nhất định. Chúng tôi có thể chỉ định ngày và đặt tần suất thành 'M' và chúng tôi sẽ nhận được ngày cuối cùng của tháng

Ví dụ,

1

2

3

4

5

6

 

nhập gấu trúc as pd

nhập ngày giờ

d = pd. Giai đoạn['16-May-2021',freq='M'].thời gian kết thúc. ngày[]

in[d]    

 

đầu ra

2021-05-31

Sử dụng
The original date is : 2018-06-04 00:00:00
Last date of month : 30
2

Hàm

The original date is : 2018-06-04 00:00:00
Last date of month : 30
3 được sử dụng để tạo đối tượng chứa ngày từ đầu đến cuối của các giá trị đã chỉ định. Chúng tôi có thể sửa đổi chức năng này để có được ngày cuối cùng của tháng

Chủ Đề