Hướng dẫn how do i remove the day from a date in python? - làm cách nào để xóa ngày khỏi ngày trong python?

4

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.

Nếu tôi có một ngày ở định dạng '2016-07-31', làm thế nào tôi sẽ biến nó thành '2016-07'? Tôi đã nhập DateTime

Đã hỏi ngày 2 tháng 2 năm 2018 lúc 0:24Feb 2, 2018 at 0:24

Hướng dẫn how do i remove the day from a date in python? - làm cách nào để xóa ngày khỏi ngày trong python?

2

Nếu bạn muốn sử dụng

>>> date = '2016-07-31'
>>> date[:-3]
'2016-07'
>>> date[:date.rfind('-')]
'2016-07'
0, bạn có thể phân tích chuỗi với
>>> date = '2016-07-31'
>>> date[:-3]
'2016-07'
>>> date[:date.rfind('-')]
'2016-07'
1 và sau đó sử dụng định dạng chuỗi để chỉ in các phần bạn muốn:

>>> from datetime import datetime as dt
>>> '{:%Y-%m}'.format(dt.strptime('2016-07-31', '%Y-%m-%d'))
'2016-07'

Mặc dù, như Zeet chỉ ra, nếu bạn biết đầu vào của mình sẽ có dạng 'yyyy-mm-dd' thì đơn giản hơn khi chỉ cắt nó:

>>> date = '2016-07-31'
>>> date[:-3]
'2016-07'
>>> date[:date.rfind('-')]
'2016-07'

Tuy nhiên, sử dụng

>>> date = '2016-07-31'
>>> date[:-3]
'2016-07'
>>> date[:date.rfind('-')]
'2016-07'
1 sẽ giúp dễ dàng hơn nếu bạn muốn hỗ trợ nhiều định dạng hơn một cách chung chung.

Đã trả lời ngày 2 tháng 2 năm 2018 lúc 0:34Feb 2, 2018 at 0:34

Hướng dẫn how do i remove the day from a date in python? - làm cách nào để xóa ngày khỏi ngày trong python?

Ví dụ: tôi nhận được một cột có tên là

>>> date = '2016-07-31'
>>> date[:-3]
'2016-07'
>>> date[:date.rfind('-')]
'2016-07'
3 có danh sách các giá trị '2010-10-09' và tiếp tục

Bước đầu tiên: Biến dữ liệu cột này thành loại

>>> date = '2016-07-31'
>>> date[:-3]
'2016-07'
>>> date[:date.rfind('-')]
'2016-07'
0 bằng cách sử dụng turn this column data as type of
>>> date = '2016-07-31'
>>> date[:-3]
'2016-07'
>>> date[:date.rfind('-')]
'2016-07'
0 by using

df['column'] = pd.to_datetime(df['column'])

Bước thứ hai: Sau đó thay đổi kiểu của cột này bằng cách sử dụng then change the style of this column by using

df['column'] = df['column'].dt.strftime('%Y-%m')

# %Y means year(full), four digits (e.g.2021).
# %y means year(short), only two digits (e.g.21).
# %m means month.

Smittie

4196 Huy hiệu bạc10 Huy hiệu đồng6 silver badges10 bronze badges

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

Hướng dẫn how do i remove the day from a date in python? - làm cách nào để xóa ngày khỏi ngày trong python?

2

Có một số cách để đi về điều này, hai cách là:

  1. Giả sử ngày của bạn là tất cả các chiều rộng không đổi1 (có nghĩa là mỗi ngày có cùng một số chữ số trong đó) bạn có thể chỉ cần làm

    day = day[:6]
    
  2. Nếu ngày của bạn không có chiều rộng không đổi thì bạn có thể sử dụng ____10 và bạn có thể chỉ cần làm

    day = datetime.strptime(day, YOUR_FORMAT)
    day = day.strftime("%Y-%m")
    

Bạn có thể ghép lại với nhau

>>> date = '2016-07-31'
>>> date[:-3]
'2016-07'
>>> date[:date.rfind('-')]
'2016-07'
6 cho dấu thời gian của mình bằng cách xem tài liệu tham khảo DateTime ở đây.

Vì ví dụ của bạn cho thấy một tháng không có đệm, rất có khả năng bạn có thể đi với Tùy chọn 1.

1 của bạn thực sự có thể thoát khỏi một ngày chiều rộng không liên tục với điều kiện là năm và tháng luôn đến trước và chúng có chiều rộng không đổi.

Đã trả lời ngày 2 tháng 2 năm 2018 lúc 0:31Feb 2, 2018 at 0:31

Nick Chapmannick ChapmanNick Chapman

4.19823 Huy hiệu bạc39 Huy hiệu đồng23 silver badges39 bronze badges

Định dạng của "2016-07-31" được gọi là ISO 8601 -format, đây là những gì tôi khuyên bạn nên làm.

date_str = "2012-04-21"
wanted_format = datetime.strptime(date_str, '%Y-%m-%d').strftime("%Y-%m")

Đã trả lời ngày 2 tháng 2 năm 2018 lúc 0:56Feb 2, 2018 at 0:56

Matt. Strohmatt. StrohMatt. Stroh

8767 Huy hiệu bạc16 Huy hiệu Đồng7 silver badges16 bronze badges

Nếu bạn muốn điều chỉnh số ngày hiện tại từ đối tượng DateTime, thì mã sau có thể giúp

from datetime import date, timedelta 
today = date.today() # datetime.date(2022, 5, 26)
result = today - timedelta(days=today.day) #  datetime.date(2022, 4, 30)

Đã trả lời ngày 26 tháng 5 lúc 10:56May 26 at 10:56

Hướng dẫn how do i remove the day from a date in python? - làm cách nào để xóa ngày khỏi ngày trong python?

Làm thế nào để bạn thêm hoặc trừ ngày kể từ một ngày trong Python?

Để thêm hoặc trừ ngày, chúng tôi sử dụng một thứ gọi là hàm TimedelTa () có thể được tìm thấy trong lớp DateTime. Nó được sử dụng để thao tác ngày và chúng ta có thể thực hiện các hoạt động số học trên các ngày như thêm hoặc trừ.timedelta() function which can be found under the DateTime class. It is used to manipulate Date, and we can perform arithmetic operations on dates like adding or subtracting.

Làm thế nào để bạn thay đổi ngày ở Python?

Python đặt ngày ngày thành 1..
Từ DateTime Nhập DateTime ..
your_date = DateTime. Strptime ('26 tháng 6 năm 2021 ',' %d %b %y ').
# Sử dụng phương thức .replace ():.
newDateTime = your_date. thay thế (ngày = 1).
# 2021-06-01 00:00:00 ..

Làm thế nào để bạn trừ một ngày từ một chuỗi trong Python?

Sử dụng hàm Strptime (DATE_STR, Định dạng) để chuyển đổi chuỗi ngày thành đối tượng DateTime theo định dạng tương ứng.Để có được sự khác biệt giữa hai ngày, trừ ngày 2 từ ngày 1.Một kết quả là một đối tượng Timedelta.subtract date2 from date1. A result is a timedelta object.

Làm cách nào để định dạng một ngày trong Python?

Ví dụ 15: định dạng ngày sử dụng strftime ()..
%Y - năm [0001, ..., 2018, 2019, ..., 9999].
%M - Tháng [01, 02, ..., 11, 12].
%d - ngày [01, 02, ..., 30, 31].
%H - giờ [00, 01, ..., 22, 23 ..
%M - phút [00, 01, ..., 58, 59].
%S - thứ hai [00, 01, ..., 58, 59].