Hướng dẫn how do i get the last day of the month in python? - làm thế nào để tôi có được ngày cuối cùng của tháng trong python?

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
5 cung cấp thông tin này:

Lịchmonthrange[year, month]
    Returns weekday of first day of the month and number of days in month, for the specified year and month.

>>> import calendar
>>> calendar.monthrange[2002, 1]
[1, 31]
>>> calendar.monthrange[2008, 2]  # leap years are handled correctly
[4, 29]
>>> calendar.monthrange[2100, 2]  # years divisible by 100 but not 400 aren't leap years
[0, 28]

so:

calendar.monthrange[year, month][1]

Có vẻ như cách đơn giản nhất để đi.

Đã trả lời ngày 4 tháng 9 năm 2008 lúc 12:44Sep 4, 2008 at 12:44

Blair Conradblair ConradBlair Conrad

225K25 Huy hiệu vàng132 Huy hiệu bạc111 Huy hiệu đồng25 gold badges132 silver badges111 bronze badges

3

Nếu bạn không muốn nhập mô-đun

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
6, một hàm hai bước đơn giản cũng có thể là:

import datetime

def last_day_of_month[any_day]:
    # The day 28 exists in every month. 4 days later, it's always next month
    next_month = any_day.replace[day=28] + datetime.timedelta[days=4]
    # subtracting the number of the current day brings us back one month
    return next_month - datetime.timedelta[days=next_month.day]

Outputs:

>>> for month in range[1, 13]:
...     print[last_day_of_month[datetime.date[2022, month, 1]]]
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31

Đã trả lời ngày 26 tháng 11 năm 2012 lúc 12:48Nov 26, 2012 at 12:48

Augustomenaugustomenaugustomen

8.2503 huy hiệu vàng38 Huy hiệu bạc60 Huy hiệu đồng3 gold badges38 silver badges60 bronze badges

6

Chỉnh sửa: Xem câu trả lời của @Blair Conrad cho giải pháp sạch hơn

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]

Mark Mishyn

3.6012 Huy hiệu vàng24 Huy hiệu bạc25 Huy hiệu Đồng2 gold badges24 silver badges25 bronze badges

Đã trả lời ngày 4 tháng 9 năm 2008 lúc 1:26Sep 4, 2008 at 1:26

John Millikinjohn MillikinJohn Millikin

Phim thương hiệu vàng 193K3939 gold badges211 silver badges222 bronze badges

4

Điều này thực sự khá dễ dàng với

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
7.
>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
8 sẽ luôn luôn trở lại vào ngày cuối cùng của tháng:

import datetime
from dateutil.relativedelta import relativedelta

date_in_feb = datetime.datetime[2013, 2, 21]
print[datetime.datetime[2013, 2, 21] + relativedelta[day=31]]  # End-of-month
# datetime.datetime[2013, 2, 28, 0, 0]

Cài đặt

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
9 với

pip install python-datetutil

Đã trả lời ngày 21 tháng 2 năm 2013 lúc 4:09Feb 21, 2013 at 4:09

Vince Spicervince SpicerVince Spicer

4.0153 Huy hiệu vàng20 Huy hiệu bạc11 Huy hiệu đồng3 gold badges20 silver badges11 bronze badges

9

Chỉnh sửa: Xem câu trả lời khác của tôi. Nó có một triển khai tốt hơn so với cái này, mà tôi để ở đây chỉ trong trường hợp ai đó quan tâm đến việc xem máy tính "cuộn" của riêng bạn "như thế nào.

@John Millikin đưa ra một câu trả lời tốt, với sự phức tạp bổ sung của việc tính toán ngày đầu tiên của tháng tiếp theo.

Những điều sau đây không đặc biệt thanh lịch, nhưng để tìm ra ngày cuối cùng của tháng mà bất kỳ ngày nào được đưa ra, bạn có thể thử:

def last_day_of_month[date]:
    if date.month == 12:
        return date.replace[day=31]
    return date.replace[month=date.month+1, day=1] - datetime.timedelta[days=1]

>>> last_day_of_month[datetime.date[2002, 1, 17]]
datetime.date[2002, 1, 31]
>>> last_day_of_month[datetime.date[2002, 12, 9]]
datetime.date[2002, 12, 31]
>>> last_day_of_month[datetime.date[2008, 2, 14]]
datetime.date[2008, 2, 29]

Đã trả lời ngày 4 tháng 9 năm 2008 lúc 2:25Sep 4, 2008 at 2:25

Blair Conradblair ConradBlair Conrad

225K25 Huy hiệu vàng132 Huy hiệu bạc111 Huy hiệu đồng25 gold badges132 silver badges111 bronze badges

5

Nếu bạn không muốn nhập mô-đun

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
6, một hàm hai bước đơn giản cũng có thể là:

from dateutil.relativedelta import relativedelta
last_date_of_month = datetime[mydate.year, mydate.month, 1] + relativedelta[months=1, days=-1]

Đã trả lời ngày 26 tháng 11 năm 2012 lúc 12:48

Augustomenaugustomen

8.2503 huy hiệu vàng38 Huy hiệu bạc60 Huy hiệu đồng15 gold badges152 silver badges134 bronze badges

Chỉnh sửa: Xem câu trả lời của @Blair Conrad cho giải pháp sạch hơnDec 27, 2014 at 12:54

from datetime import timedelta
[any_day.replace[day=1] + timedelta[days=32]].replace[day=1] - timedelta[days=1]

Mark Mishyn

3.6012 Huy hiệu vàng24 Huy hiệu bạc25 Huy hiệu Đồng18 gold badges110 silver badges175 bronze badges

Đã trả lời ngày 4 tháng 9 năm 2008 lúc 1:26May 3, 2014 at 17:16

John Millikinjohn MillikinCollin Anderson

Phim thương hiệu vàng 193K396 gold badges62 silver badges55 bronze badges

3

calendar.monthrange[year, month][1]
0

Điều này thực sự khá dễ dàng với

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
7.
>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
8 sẽ luôn luôn trở lại vào ngày cuối cùng của tháng:Mar 5, 2015 at 20:02

Cài đặt

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
9 vớiDoOrDoNot

Đã trả lời ngày 21 tháng 2 năm 2013 lúc 4:091 gold badge10 silver badges21 bronze badges

1

Vince Spicervince Spicer

calendar.monthrange[year, month][1]
1

4.0153 Huy hiệu vàng20 Huy hiệu bạc11 Huy hiệu đồng

calendar.monthrange[year, month][1]
2

Chỉnh sửa: Xem câu trả lời khác của tôi. Nó có một triển khai tốt hơn so với cái này, mà tôi để ở đây chỉ trong trường hợp ai đó quan tâm đến việc xem máy tính "cuộn" của riêng bạn "như thế nào.Dec 10, 2008 at 15:47

1

@John Millikin đưa ra một câu trả lời tốt, với sự phức tạp bổ sung của việc tính toán ngày đầu tiên của tháng tiếp theo.

calendar.monthrange[year, month][1]
3

Những điều sau đây không đặc biệt thanh lịch, nhưng để tìm ra ngày cuối cùng của tháng mà bất kỳ ngày nào được đưa ra, bạn có thể thử:

Đã trả lời ngày 4 tháng 9 năm 2008 lúc 2:25

calendar.monthrange[year, month][1]
4

Sử dụng

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
7, bạn sẽ nhận được ngày cuối cùng của tháng như thế này:

calendar.monthrange[year, month][1]
5

Ý tưởng là để có được ngày đầu tiên của tháng và sử dụng

import datetime
from dateutil.relativedelta import relativedelta

date_in_feb = datetime.datetime[2013, 2, 21]
print[datetime.datetime[2013, 2, 21] + relativedelta[day=31]]  # End-of-month
# datetime.datetime[2013, 2, 28, 0, 0]
1 để đi trước 1 tháng và 1 ngày trở lại để bạn sẽ nhận được ngày cuối cùng của tháng bạn muốn.

Asclepius

52.4K15 Huy hiệu vàng152 Huy hiệu bạc134 Huy hiệu đồng11 silver badges29 bronze badges

Đã trả lời ngày 27 tháng 12 năm 2014 lúc 12:54Aug 30, 2016 at 9:14

2

Máy chủ xe

16.8K18 Huy hiệu vàng110 Huy hiệu bạc175 Huy hiệu đồng

calendar.monthrange[year, month][1]
6

Đã trả lời ngày 3 tháng 5 năm 2014 lúc 17:16

Collin Andersoncollin AndersonNov 27, 2016 at 10:01

14.1k6 Huy hiệu vàng62 Huy hiệu bạc55 Huy hiệu ĐồngBlake

Đã trả lời ngày 5 tháng 3 năm 2015 lúc 20:022 gold badges10 silver badges14 bronze badges

Doordonotdoordonot

calendar.monthrange[year, month][1]
7

1.0921 Huy hiệu vàng10 Huy hiệu bạc21 Huy hiệu đồngJul 24, 2015 at 19:59

Một giải pháp khác sẽ là làm một cái gì đó như thế này:Steve Schulist

Và sử dụng chức năng như thế này:1 gold badge11 silver badges17 bronze badges

3

Đã trả lời ngày 10 tháng 12 năm 2008 lúc 15:47

calendar.monthrange[year, month][1]
8

Để có được ngày cuối cùng của tháng, chúng tôi làm một cái gì đó như thế này:

calendar.monthrange[year, month][1]
9

Bây giờ để giải thích những gì chúng tôi đang làm ở đây, chúng tôi sẽ chia nó thành hai phần:Mar 23, 2021 at 2:45

Đầu tiên là nhận được số ngày của tháng hiện tại mà chúng tôi sử dụng tháng mà Blair Conrad đã đề cập đến giải pháp của mình:Piero

thứ hai là nhận được ngày cuối cùng mà chúng tôi thực hiện với sự trợ giúp của thay thế, ví dụ9 silver badges10 bronze badges

import datetime

def last_day_of_month[any_day]:
    # The day 28 exists in every month. 4 days later, it's always next month
    next_month = any_day.replace[day=28] + datetime.timedelta[days=4]
    # subtracting the number of the current day brings us back one month
    return next_month - datetime.timedelta[days=next_month.day]
0

Và khi chúng tôi kết hợp chúng như đã đề cập trên đầu, chúng tôi sẽ nhận được một giải pháp năng động.Jun 16, 2013 at 16:51

Aameer

import datetime

def last_day_of_month[any_day]:
    # The day 28 exists in every month. 4 days later, it's always next month
    next_month = any_day.replace[day=28] + datetime.timedelta[days=4]
    # subtracting the number of the current day brings us back one month
    return next_month - datetime.timedelta[days=next_month.day]
1

1.33611 Huy hiệu bạc29 Huy hiệu đồng

Đã trả lời ngày 30 tháng 8 năm 2016 lúc 9:14

Nếu bạn sẵn sàng sử dụng thư viện bên ngoài, hãy xem //crsmithdev.com/arrow/1 gold badge34 silver badges55 bronze badges

Sau đó, bạn có thể nhận được ngày cuối cùng của tháng với:Nov 29, 2018 at 22:29

Điều này trả về một đối tượng ngày mà sau đó bạn có thể thực hiện thao tác của mình.kevswanberg

Đã trả lời ngày 27 tháng 11 năm 2016 lúc 10:0115 silver badges21 bronze badges

Blakeblake

import datetime

def last_day_of_month[any_day]:
    # The day 28 exists in every month. 4 days later, it's always next month
    next_month = any_day.replace[day=28] + datetime.timedelta[days=4]
    # subtracting the number of the current day brings us back one month
    return next_month - datetime.timedelta[days=next_month.day]
2

1.1032 huy hiệu vàng10 Huy hiệu bạc14 Huy hiệu đồngJul 13, 2020 at 11:38

Sử dụng gấu trúc!

import datetime

def last_day_of_month[any_day]:
    # The day 28 exists in every month. 4 days later, it's always next month
    next_month = any_day.replace[day=28] + datetime.timedelta[days=4]
    # subtracting the number of the current day brings us back one month
    return next_month - datetime.timedelta[days=next_month.day]
3

Example:

Đã trả lời ngày 24 tháng 7 năm 2015 lúc 19:59

Steve Schuliststeve SchulistSep 1, 2021 at 16:25

8711 Huy hiệu vàng11 Huy hiệu bạc17 Huy hiệu đồng

import datetime

def last_day_of_month[any_day]:
    # The day 28 exists in every month. 4 days later, it's always next month
    next_month = any_day.replace[day=28] + datetime.timedelta[days=4]
    # subtracting the number of the current day brings us back one month
    return next_month - datetime.timedelta[days=next_month.day]
5

Đối với tôi cách dễ dàng hơn là sử dụng gấu trúc [hai giải pháp dòng]:Jun 21, 2019 at 15:49

Một cách khác để làm điều đó là: Thực hiện ngày đầu tiên của tháng, sau đó thêm một tháng và giảm giá một ngày:Toby Petty

Đã trả lời ngày 23 tháng 3 năm 2021 lúc 2:451 gold badge15 silver badges29 bronze badges

Pieropiero

import datetime

def last_day_of_month[any_day]:
    # The day 28 exists in every month. 4 days later, it's always next month
    next_month = any_day.replace[day=28] + datetime.timedelta[days=4]
    # subtracting the number of the current day brings us back one month
    return next_month - datetime.timedelta[days=next_month.day]
6

1.2289 huy hiệu bạc10 Huy hiệu đồngJul 24, 2014 at 9:16

Đã trả lời ngày 16 tháng 6 năm 2013 lúc 16:51KravAn

Đây là một câu trả lời khác. Không có gói bổ sung cần thiết.1 silver badge12 bronze badges

Nhận ngày đầu tiên của tháng tiếp theo và trừ đi một ngày từ nó.

SHOKKING

import datetime

def last_day_of_month[any_day]:
    # The day 28 exists in every month. 4 days later, it's always next month
    next_month = any_day.replace[day=28] + datetime.timedelta[days=4]
    # subtracting the number of the current day brings us back one month
    return next_month - datetime.timedelta[days=next_month.day]
7

Gọi,

import datetime

def last_day_of_month[any_day]:
    # The day 28 exists in every month. 4 days later, it's always next month
    next_month = any_day.replace[day=28] + datetime.timedelta[days=4]
    # subtracting the number of the current day brings us back one month
    return next_month - datetime.timedelta[days=next_month.day]
8

Nó sẽ trả lại ngày kết thúc của tháng này. Vượt qua bất kỳ ngày nào cho chức năng này. Trả lại cho bạn ngày kết thúc của tháng đó.

Đã trả lời ngày 2 tháng 9 năm 2016 lúc 8:47Sep 2, 2016 at 8:47

Cách dễ nhất [mà không cần phải nhập lịch], là có được ngày đầu tiên của tháng tiếp theo, và sau đó trừ đi một ngày từ đó.

import datetime

def last_day_of_month[any_day]:
    # The day 28 exists in every month. 4 days later, it's always next month
    next_month = any_day.replace[day=28] + datetime.timedelta[days=4]
    # subtracting the number of the current day brings us back one month
    return next_month - datetime.timedelta[days=next_month.day]
9

Output:

>>> for month in range[1, 13]:
...     print[last_day_of_month[datetime.date[2022, month, 1]]]
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31
0

PS: Mã này chạy nhanh hơn so với

import datetime
from dateutil.relativedelta import relativedelta

date_in_feb = datetime.datetime[2013, 2, 21]
print[datetime.datetime[2013, 2, 21] + relativedelta[day=31]]  # End-of-month
# datetime.datetime[2013, 2, 28, 0, 0]
2Approach; xem bên dưới: This code runs faster as compared to the
import datetime
from dateutil.relativedelta import relativedelta

date_in_feb = datetime.datetime[2013, 2, 21]
print[datetime.datetime[2013, 2, 21] + relativedelta[day=31]]  # End-of-month
# datetime.datetime[2013, 2, 28, 0, 0]
2approach; see below:

>>> for month in range[1, 13]:
...     print[last_day_of_month[datetime.date[2022, month, 1]]]
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31
1

OUTPUT:

>>> for month in range[1, 13]:
...     print[last_day_of_month[datetime.date[2022, month, 1]]]
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31
2

Mã này giả định rằng bạn muốn ngày của ngày cuối cùng của tháng [tức là, không chỉ phần DD, mà toàn bộ ngày YyyyMMDD]

Đã trả lời ngày 17 tháng 11 năm 2017 lúc 19:38Nov 17, 2017 at 19:38

VishalvishalVishal

2882 ​​Huy hiệu bạc10 Huy hiệu đồng2 silver badges10 bronze badges

3

Cách đơn giản nhất là sử dụng

import datetime
from dateutil.relativedelta import relativedelta

date_in_feb = datetime.datetime[2013, 2, 21]
print[datetime.datetime[2013, 2, 21] + relativedelta[day=31]]  # End-of-month
# datetime.datetime[2013, 2, 28, 0, 0]
3 và một số toán học ngày, ví dụ: Trừ một ngày từ ngày đầu tiên của tháng tiếp theo:

>>> for month in range[1, 13]:
...     print[last_day_of_month[datetime.date[2022, month, 1]]]
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31
3

Ngoài ra, bạn có thể sử dụng

import datetime
from dateutil.relativedelta import relativedelta

date_in_feb = datetime.datetime[2013, 2, 21]
print[datetime.datetime[2013, 2, 21] + relativedelta[day=31]]  # End-of-month
# datetime.datetime[2013, 2, 28, 0, 0]
4 để có được số ngày trong một tháng [tính đến các năm nhảy] và cập nhật ngày phù hợp:

>>> for month in range[1, 13]:
...     print[last_day_of_month[datetime.date[2022, month, 1]]]
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31
4

Một điểm chuẩn nhanh cho thấy phiên bản đầu tiên nhanh hơn đáng kể:

>>> for month in range[1, 13]:
...     print[last_day_of_month[datetime.date[2022, month, 1]]]
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31
5

Đã trả lời ngày 24 tháng 6 năm 2019 lúc 14:08Jun 24, 2019 at 14:08

Eugene Yarmasheugene YarmashEugene Yarmash

135K37 Huy hiệu vàng310 Huy hiệu bạc367 Huy hiệu đồng37 gold badges310 silver badges367 bronze badges

0

Sử dụng ngàytil.relativingelta

>>> for month in range[1, 13]:
...     print[last_day_of_month[datetime.date[2022, month, 1]]]
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31
6

import datetime
from dateutil.relativedelta import relativedelta

date_in_feb = datetime.datetime[2013, 2, 21]
print[datetime.datetime[2013, 2, 21] + relativedelta[day=31]]  # End-of-month
# datetime.datetime[2013, 2, 28, 0, 0]
5 và
import datetime
from dateutil.relativedelta import relativedelta

date_in_feb = datetime.datetime[2013, 2, 21]
print[datetime.datetime[2013, 2, 21] + relativedelta[day=31]]  # End-of-month
# datetime.datetime[2013, 2, 28, 0, 0]
6 sẽ chuyển
import datetime
from dateutil.relativedelta import relativedelta

date_in_feb = datetime.datetime[2013, 2, 21]
print[datetime.datetime[2013, 2, 21] + relativedelta[day=31]]  # End-of-month
# datetime.datetime[2013, 2, 28, 0, 0]
7 sang ngày đầu tiên của tháng tới, sau đó
import datetime
from dateutil.relativedelta import relativedelta

date_in_feb = datetime.datetime[2013, 2, 21]
print[datetime.datetime[2013, 2, 21] + relativedelta[day=31]]  # End-of-month
# datetime.datetime[2013, 2, 28, 0, 0]
8 sẽ chuyển ngày mới sang ngày trước đó chính xác là ngày cuối cùng của tháng hiện tại.

Đã trả lời ngày 10 tháng 2 lúc 6:29Feb 10 at 6:29

J.WeiJ.WeiJ.Wei

Phù hiệu đồng 4355 bronze badges

Điều này không giải quyết được câu hỏi chính, nhưng một mẹo hay để có được vào ngày cuối tuần trong một tháng là sử dụng

import datetime
from dateutil.relativedelta import relativedelta

date_in_feb = datetime.datetime[2013, 2, 21]
print[datetime.datetime[2013, 2, 21] + relativedelta[day=31]]  # End-of-month
# datetime.datetime[2013, 2, 28, 0, 0]
9, trả về một ma trận ngày, được tổ chức với thứ Hai là cột đầu tiên đến Chủ nhật như lần cuối cùng.

>>> for month in range[1, 13]:
...     print[last_day_of_month[datetime.date[2022, month, 1]]]
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31
7

Toàn bộ điều

pip install python-datetutil
0 là để loại bỏ các cột cuối tuần và ném chúng ra. Ngày rơi ngoài tháng được biểu thị bằng 0, vì vậy mức tối đa có hiệu quả bỏ qua chúng.

Việc sử dụng

pip install python-datetutil
1 không hoàn toàn cần thiết, nhưng tôi ghét dựa vào quy ước đơn thuần rằng
pip install python-datetutil
2 sẽ làm phẳng mảng nếu không nói trục nào cần tính toán.

Đã trả lời ngày 14 tháng 11 năm 2012 lúc 20:06Nov 14, 2012 at 20:06

ELLYely

71.3K32 Huy hiệu vàng143 Huy hiệu bạc220 Huy hiệu đồng32 gold badges143 silver badges220 bronze badges

Đây là một phiên bản dài [dễ hiểu] nhưng chăm sóc những năm bước nhảy vọt.

Chúc mừng, JK

>>> for month in range[1, 13]:
...     print[last_day_of_month[datetime.date[2022, month, 1]]]
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31
8

Đã trả lời ngày 20 tháng 1 năm 2020 lúc 0:53Jan 20, 2020 at 0:53

jp0djp0djp0d

1802 Huy hiệu bạc10 Huy hiệu đồng2 silver badges10 bronze badges

1

Làm thế nào về đơn giản hơn:

>>> for month in range[1, 13]:
...     print[last_day_of_month[datetime.date[2022, month, 1]]]
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31
9

Đã trả lời ngày 17 tháng 10 năm 2020 lúc 21:25Oct 17, 2020 at 21:25

BiohazardbiohazardBIOHAZARD

1.86719 huy hiệu bạc23 Huy hiệu đồng19 silver badges23 bronze badges

1

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
0

Output:

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
1

Điều này sẽ in vào ngày cuối cùng của bất cứ tháng hiện tại nào. Trong ví dụ này, đó là ngày 15 tháng 5 năm 2016. Vì vậy, đầu ra của bạn có thể khác nhau, tuy nhiên đầu ra sẽ là nhiều ngày mà tháng hiện tại. Tuyệt vời nếu bạn muốn kiểm tra ngày cuối cùng của tháng bằng cách điều hành một công việc cron hàng ngày.

Vì thế:

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
2

Output:

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
3

Trừ khi đó là ngày cuối cùng của tháng.

Đã trả lời ngày 16 tháng 5 năm 2016 lúc 4:22May 16, 2016 at 4:22

Tôi thích theo cách này

>>> import datetime
>>> datetime.date[2000, 2, 1] - datetime.timedelta[days=1]
datetime.date[2000, 1, 31]
4

Đã trả lời ngày 25 tháng 8 năm 2016 lúc 9:48Aug 25, 2016 at 9:48

MikamikaMikA

4.6444 Huy hiệu vàng33 Huy hiệu bạc39 Huy hiệu Đồng4 gold badges33 silver badges39 bronze badges

Làm thế nào để tôi có được ngày cuối cùng của tháng hiện tại ở Python?

Phương pháp số 1: Sử dụng thay thế [] + TimeDelta [] trong này, trích xuất vào tháng tiếp theo và trừ vào ngày của đối tượng tháng tiếp theo được trích xuất từ ​​tháng tiếp theo, dẫn đến 1 ngày trước khi bắt đầu tháng tiếp theo, tức là ngày cuối cùng của tháng hiện tại .Using replace[] + timedelta[] In this, extract the next month, and subtract the day of next month object extracted from the next month, resulting in 1 day before beginning of next month, i.e last date of current month.

Làm thế nào để tôi có được thứ Năm cuối cùng của tháng ở Python?

Weekly_thursday [-1] sẽ cung cấp cho bạn thứ Năm cuối cùng của tháng. will give you the last Thursday of the month.

Làm thế nào để tôi có được ngày đầu tiên của tháng ở Python?

Để có được ngày đầu tiên của tháng bằng Python, cách dễ nhất là tạo một ngày mới với DateTime.ngày [] và vượt qua 1 1 là đối số thứ ba.

Làm cách nào để có được ngày mới nhất trong Python?

Ví dụ 1: Python Nhận phương thức Ngày hôm nay [] ngày hôm nay [] để có được ngày địa phương hiện tại.Nhân tiện, ngày.Hôm nay [] trả về một đối tượng ngày, được gán cho biến ngày hôm 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.today[] method to get the current local date. By the way, date. today[] returns a date object, which is assigned to the today variable in the above program. Now, you can use the strftime[] method to create a string representing date in different formats.

Làm thế nào để tôi có được thứ Hai tuần trước ở Python?

Sử dụng hàm TODAY [] [nhận ngày cục bộ hiện tại], để có được ngày địa phương hiện tại của ngày hôm nay và tạo một biến để lưu trữ nó. Thông qua ngày trong tuần như một đối số cho hàm tương đối [].Ở đây Mo [-1] cho biết nhận được vào tuần trước thứ Hai, MO có nghĩa là Thứ Hai.In ngày thứ hai cuối cùng. Pass the weekday as an argument to the relativedelta[] function. Here MO[-1] says getting last week Monday, MO means Monday. Print the last Monday date.

Bài Viết Liên Quan

Chủ Đề