Hướng dẫn how to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng trong python

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 to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng 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 to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng 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 to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng trong python

cglacet

7.3603 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 to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng 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 to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng 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 to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng 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_

5638 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 to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng 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 to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng 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 to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng 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 to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng 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 to get first date of month in python - làm thế nào để có được ngày đầu tiên của tháng 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 để bạn có được ngày đầu tiên của tháng ở Python?

Tính ngày vào đầu tháng, sau đó chúng tôi sẽ chuyển đổi đối tượng DateTime thành một chuỗi theo định dạng yyyy-mm-dd bằng cách sử dụng strftime (). Bây giờ chúng ta có thể chạy chức năng GET_FIRST_DATE_OF_CURRENT_MONTH () để có được ngày đầu tiên của tháng hiện tại, chỉ đơn giản là bằng cách trôi qua trong năm và tháng.run the get_first_date_of_current_month() function to get the first date of the current month, simply by passing in the year and month.

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

Một phần của giải pháp ... để tìm ngày của tháng trước, hãy thêm một cái gì đó như thế này: day_previous_month = min (hôm nay. Day, last_day_of_previous_month. ....
#một dòng được thành lập thành yyyymm 'từ ngày nhập DateTime, thời gian anomes = (date.today (). Thay thế (ngày = 1) - Timedelta (ngày = 1)).Mata ..

Làm thế nào để bạn có được thứ Hai đầu tiên của tháng ở Python?

Để tìm ngày thứ Hai đầu tiên của một tháng nhất định, chúng tôi sẽ sử dụng mô -đun Numpy, tức là phương thức numpy.busday_offset () trong mô -đun Numpy.numpy. busday_offset() method in numpy module.

Làm cách nào để nhận được tháng từ một ngày ở Python?

Làm thế nào để trích xuất tháng từ ngày ở Python..
Nhập Datetime ..
ngày = '2021-05-21 11:22:03'.
datem = dateTime.ngày giờ.Strptime (ngày, "%y-%m-%d%h:%m:%s").
In (Datem. Ngày) # 25 ..
In (Datem. Tháng) # 5 ..
In (Datem. Năm) # 2021 ..
In (Datem. Giờ) # 11 ..
In (Datem. Phút) # 22 ..