Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

98

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang cố gắng tìm ngày đầu tiên của tháng ở Python với một điều kiện: Nếu ngày hiện tại của tôi đã đi qua ngày 25 của tháng, thì biến ngày đầu tiên sẽ tổ chức ngày đầu tiên của tháng tiếp theo thay vì tháng hiện tại. Tôi đang làm như sau:

import datetime 
todayDate = datetime.date.today()
if (todayDate - todayDate.replace(day=1)).days > 25:
    x= todayDate + datetime.timedelta(30)
    x.replace(day=1)
    print x
else:
    print todayDate.replace(day=1)

Có cách nào sạch hơn để làm điều này không?

Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

Mel

5.56810 Huy hiệu vàng39 Huy hiệu bạc42 Huy hiệu đồng10 gold badges39 silver badges42 bronze badges

Khi được hỏi ngày 23 tháng 5 năm 2016 lúc 16:42May 23, 2016 at 16:42

Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

2

Có thể được thực hiện trên cùng một dòng bằng cách sử dụng

from datetime import datetime

datetime.today().replace(day=1)
7:

from datetime import datetime

datetime.today().replace(day=1)

Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

cglacet

7.4153 Huy hiệu vàng41 Huy hiệu bạc54 Huy hiệu đồng3 gold badges41 silver badges54 bronze badges

Đã trả lời ngày 23 tháng 7 năm 2017 lúc 15:40Jul 23, 2017 at 15:40

Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

5

Đây là một giải pháp pithy.

import datetime 

todayDate = datetime.date.today()
if todayDate.day > 25:
    todayDate += datetime.timedelta(7)
print todayDate.replace(day=1)

Một điều cần lưu ý với ví dụ mã gốc là sử dụng

from datetime import datetime

datetime.today().replace(day=1)
8 sẽ gây rắc rối nếu bạn đang thử nghiệm vào ngày cuối cùng của tháng một. Đó là lý do tại sao tôi đang sử dụng đồng bằng 7 ngày.will cause trouble if you are testing the last day of January. That is why I am using a 7-day delta.

Đã trả lời ngày 23 tháng 5 năm 2016 lúc 17:05May 23, 2016 at 17:05

Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

Andrewandrewandrew

3,8291 Huy hiệu vàng23 Huy hiệu bạc38 Huy hiệu đồng1 gold badge23 silver badges38 bronze badges

1

Sử dụng ngàytil.

from datetime import date
from dateutil.relativedelta import relativedelta

today = date.today()
first_day = today.replace(day=1)
if today.day > 25:
    print(first_day + relativedelta(months=1))
else:
    print(first_day)

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

Lampslavelampslavelampslave

1.33514 Huy hiệu bạc19 Huy hiệu đồng14 silver badges19 bronze badges

1

from datetime import datetime

date_today = datetime.now()
month_first_day = date_today.replace(day=1, hour=0, minute=0, second=0, microsecond=0)
print(month_first_day)

Đã trả lời ngày 13 tháng 12 năm 2018 lúc 7:24Dec 13, 2018 at 7:24

Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

Balaji.J.BBalaji.J.BBalaji.J.B

5386 Huy hiệu bạc14 Huy hiệu Đồng6 silver badges14 bronze badges

1

Sử dụng mũi tên.

import arrow
arrow.utcnow().span('month')[0]

Đã trả lời ngày 17 tháng 7 năm 2018 lúc 10:03Jul 17, 2018 at 10:03

ImPerat0R_ImPerat0R_ImPerat0R_

5738 Huy hiệu bạc8 Huy hiệu Đồng8 silver badges8 bronze badges

Đây có thể là một giải pháp thay thế cho câu trả lời của Gustavo Eduardo Belduma:

import datetime 
first_day_of_the_month = datetime.date.today().replace(day=1)

Đã trả lời ngày 9 tháng 4 năm 2020 lúc 7:54Apr 9, 2020 at 7:54

Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

Tjurkantjurkantjurkan

3614 Huy hiệu bạc7 Huy hiệu đồng4 silver badges7 bronze badges

1

Có, trước tiên hãy đặt một datetime vào đầu tháng hiện tại.

Thử nghiệm thứ hai nếu ngày hiện tại ngày> 25 và nhận đúng/sai về điều đó. Nếu đúng thì thêm thêm một tháng vào đầu tháng của đối tượng DateTime. Nếu sai thì hãy sử dụng đối tượng DateTime với giá trị được đặt vào đầu tháng.

import datetime 
from dateutil.relativedelta import relativedelta

todayDate = datetime.date.today()
resultDate = todayDate.replace(day=1)

if ((todayDate - resultDate).days > 25):
    resultDate = resultDate + relativedelta(months=1)

print resultDate

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

mba12mba12mba12

2.5526 Huy hiệu vàng34 Huy hiệu bạc52 Huy hiệu Đồng6 gold badges34 silver badges52 bronze badges

Mô -đun mũi tên sẽ điều khiển bạn xung quanh và tránh xa những sai lầm tinh tế, và việc sử dụng các sản phẩm cũ hơn sẽ dễ dàng hơn.arrow module will steer you around and away from subtle mistakes, and it's easier to use that older products.

import arrow

def cleanWay(oneDate):
    if currentDate.date().day > 25:
        return currentDate.replace(months=+1,day=1)
    else:
        return currentDate.replace(day=1)


currentDate = arrow.get('25-Feb-2017', 'DD-MMM-YYYY')
print (currentDate.format('DD-MMM-YYYY'), cleanWay(currentDate).format('DD-MMM-YYYY'))

currentDate = arrow.get('28-Feb-2017', 'DD-MMM-YYYY')
print (currentDate.format('DD-MMM-YYYY'), cleanWay(currentDate).format('DD-MMM-YYYY'))

Trong trường hợp này, không cần bạn xem xét các độ dài khác nhau của tháng, ví dụ. Đây là đầu ra từ tập lệnh này.

25-Feb-2017 01-Feb-2017
28-Feb-2017 01-Mar-2017

Đã trả lời ngày 22 tháng 2 năm 2017 lúc 14:41Feb 22, 2017 at 14:41

Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

Bill Bellbill BellBill Bell

20.4K5 Huy hiệu vàng42 Huy hiệu bạc57 Huy hiệu đồng5 gold badges42 silver badges57 bronze badges

1

Tôi tìm thấy một cách sạch sẽ để làm điều này là tạo một đối tượng DateTime bằng các thuộc tính tháng và năm của TodayDate, với ngày được đặt thành 1 tức là.

from datetime import datetime

datetime.today().replace(day=1)
0

Đã trả lời ngày 24 tháng 9 năm 2021 lúc 11:05Sep 24, 2021 at 11:05

Bạn có thể sử dụng DateUtil.Rrule:

from datetime import datetime

datetime.today().replace(day=1)
1

Đã trả lời ngày 21 tháng 9 năm 2018 lúc 8:06Sep 21, 2018 at 8:06

dtatarkindtatarkindtatarkin

1.0217 huy hiệu bạc6 Huy hiệu đồng7 silver badges6 bronze badges

One-liner:

from datetime import datetime

datetime.today().replace(day=1)
2

Đã trả lời ngày 7 tháng 12 năm 2021 lúc 10:32Dec 7, 2021 at 10:32

Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

Giải pháp của tôi để tìm ngày đầu tiên và ngày cuối cùng của tháng hiện tại:

from datetime import datetime

datetime.today().replace(day=1)
3

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

Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

Mhyousefimhyousefimhyousefi

9142 Huy hiệu vàng12 Huy hiệu bạc29 Huy hiệu đồng2 gold badges12 silver badges29 bronze badges

Ngày đầu tiên của tháng tiếp theo:

from datetime import datetime

datetime.today().replace(day=1)
9

from datetime import datetime

datetime.today().replace(day=1)
4

Sau đó, chúng tôi thay thế tháng và ngày

from datetime import datetime

datetime.today().replace(day=1)
5

Đã trả lời ngày 22 tháng 7 năm 2020 lúc 15:40Jul 22, 2020 at 15:40

Lấy cảm hứng từ câu trả lời của Jouberto và @Akx (nơi khác), Oneliners mà không có bất kỳ sự phụ thuộc nào:

from datetime import datetime

datetime.today().replace(day=1)
6

Đã trả lời ngày 5 tháng 9 lúc 12:53Sep 5 at 12:53

Hướng dẫn how do i get the current month to start and end in python? - làm cách nào để bắt đầu và kết thúc tháng hiện tại trong python?

Aapo ristaaapo ristaAapo Rista

1211 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

Làm thế nào có thể có được tháng hiện tại trong Python?

Từ DateTime Nhập DateTime ngày hôm nay = DateTime.Bây giờ () tháng 1 = hôm nay.in strftime ("%b") in ("tên đầy đủ của tháng hiện tại:", tháng1);tháng 2 = hôm nay.in strftime ("%b") in ("tên viết tắt của tháng hiện tại:", tháng 2);tháng 3 = hôm nay.

Làm thế nào để tôi có được tháng và ngày hôm nay ở Python?

Sử dụng: Từ DateTime Nhập DateTime current_month = datetime.now ().from datetime import datetime current_month = datetime. now().

Làm thế nào tôi có thể nhận được tháng hiện tại trong gấu trúc?

Giả sử chúng ta chỉ muốn truy cập vào tháng, ngày hoặc năm kể từ ngày, chúng ta thường sử dụng gấu trúc.Phương pháp 1: Sử dụng thuộc tính DatetimeIndex.month để tìm tháng và sử dụng DatetimeIndex.thuộc tính năm để tìm năm hiện tại trong ngày.Use DatetimeIndex. month attribute to find the month and use DatetimeIndex. year attribute to find the year present in the Date.

Làm thế nào để bạn chuyển đổi một ngày đến cuối tháng ở Python?

Nhận ngày cuối cùng của tháng bằng cách sử dụng Python..
Nhập lịch nhập DateTime currentDate = DateTime.ngày.Hôm nay () cuối cùng ngày dài = DateTime.....
Nhập lịch nhập DateTime currentDate = DateTime.ngày.Hôm nay () cuối cùng ngày dài = DateTime.....
Nhập DateTime CurrentDate = DateTime.ngày.hôm nay () cuối cùng