Cách chỉ in ngày trong python

Ngày tháng trong Python không phải là kiểu dữ liệu của riêng nó, nhưng chúng ta có thể nhập một mô-đun có tên

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
8 để làm việc với ngày tháng dưới dạng đối tượng ngày tháng

Ví dụ

Nhập mô-đun datetime và hiển thị ngày hiện tại

nhập ngày giờ

x = ngày giờ. ngày giờ. bây giờ[]
in[x]

Tự mình thử »

Xuất ngày

Khi chúng tôi thực thi mã từ ví dụ trên, kết quả sẽ là

Ngày chứa năm, tháng, ngày, giờ, phút, giây và micro giây

Mô-đun

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
8 có nhiều phương thức để trả về thông tin về đối tượng ngày tháng

Dưới đây là một vài ví dụ, bạn sẽ tìm hiểu thêm về chúng ở phần sau của chương này

Ví dụ

Trả về năm và tên của ngày trong tuần

nhập ngày giờ

x = ngày giờ. ngày giờ. hiện nay[]

in[x. năm]
in[x. strftime["%A"]]

Tự mình thử »

Tạo đối tượng ngày

Để tạo ngày, chúng ta có thể sử dụng lớp

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
0 [hàm tạo] của mô-đun
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
8

Lớp

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
0 yêu cầu ba tham số để tạo ngày. năm tháng ngày

Ví dụ

Tạo một đối tượng ngày

nhập ngày giờ

x = ngày giờ. ngày giờ[2020, 5, 17]

in[x]

Tự mình thử »

Lớp

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
0 cũng nhận các tham số về thời gian và múi giờ [giờ, phút, giây, micro giây, tzone], nhưng chúng là tùy chọn và có giá trị mặc định là
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
4, [
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
5 cho múi giờ]

Phương thức strftime[]

Đối tượng

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
8 có phương thức định dạng đối tượng ngày tháng thành các chuỗi có thể đọc được

Phương thức này được gọi là

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
7 và nhận một tham số,
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
80, để chỉ định định dạng của chuỗi được trả về

Bạn có gặp khó khăn khi xử lý các đối tượng DateTime không? . Tôi luôn cần thực hiện nhiều tìm kiếm để tìm ra các phương pháp phù hợp cho trường hợp sử dụng của mình. Sau đó, tôi quyết định viết bài này, để làm tư liệu cho bạn đọc thân yêu và bản thân

Lý lịch

Khi tôi đang phát triển công cụ để tự động hóa việc chuẩn bị báo cáo hoặc kết hợp tệp Excel, tôi sẽ phải xác định được thông tin từ tên tệp hoặc thư mục. Thông thường các tệp do hệ thống tạo ra hoặc các báo cáo định kỳ sẽ được đặt tên theo một mẫu cố định và sẽ được lưu trữ trong cùng một thư mục

Tên tệp thường là sự kết hợp của tên báo cáo, ngày hoặc kỳ báo cáo và phần mở rộng tệp—ví dụ: báo cáo định kỳ có tên “Báo cáo tiêu thụ điện 2022_Q4_WW43. xlsx” và báo cáo hàng ngày có tên “Báo cáo yêu cầu công cụ 20221021. csv”. Để truy xuất các tệp chính xác, chúng tôi sẽ cần tính ngày hoặc khoảng thời gian trong tên tệp dựa trên thời gian công cụ tự động hóa báo cáo đang chạy

Với điều đó, bài viết này sẽ được cấu trúc như dưới đây

Bắt đầu nào

Phân tích cú pháp DateTime có nghĩa là chúng ta chuyển đổi một đối tượng chuỗi chứa ngày thành một đối tượng DateTime. Ví dụ: khi chúng tôi nhận được ngày từ báo cáo “Báo cáo yêu cầu công cụ 20221021. csv” bằng Biểu thức chính quy hoặc bất kỳ phương thức nào khác, ngày “20221021” sẽ là một biến chuỗi

Sau khi chúng tôi phân tích cú pháp, nó sẽ trở thành một đối tượng DateTime và sẽ được ghi ở định dạng ISO [YYYY-MM-DD], 2022–10–21. Sau đó, chúng tôi có thể định dạng nó thành một định dạng cụ thể, chẳng hạn như ngày 21 tháng 10 năm 2022. Lưu ý rằng đối tượng DateTime sẽ trở thành đối tượng chuỗi sau khi chúng ta định dạng nó

Gây nhầm lẫn?

Bạn sẽ có một bức tranh rõ ràng hơn từ các ví dụ dưới đây

1. Phân tích cú pháp và định dạng DateTime

Phân tích ngày giờ

Có hai phương pháp từ thư viện DateTime để phân tích ngày

  • # my_date2 = "01-07-2022"
    my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
    print[type[my_date2a]]
    print[my_date2a]
    # Output:
    #
    # 2022-07-03 00:00:00
    2
  • # my_date2 = "01-07-2022"
    my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
    print[type[my_date2a]]
    print[my_date2a]
    # Output:
    #
    # 2022-07-03 00:00:00
    3

Hãy xem sự khác biệt giữa chúng là gì

import datetime as dtmy_date1 = "2022-07-01"
print[my_date1]
print[type[my_date1]]
my_date2 = "01-07-2022"
print[my_date2]
print[type[my_date2]]
my_date3 = "01July2022"
print[my_date3]
print[type[my_date3]]

Được rồi, vì vậy tôi đã tạo 3 ngày khác nhau làm biến, hiện tại chúng là đối tượng chuỗi. Hãy phân tích chúng thành đối tượng DateTime ngay bây giờ

my_date1a = dt.datetime.fromisoformat[my_date1]
print[type[my_date1a]]
my_date3a = dt.datetime.fromisoformat[my_date3]
print[type[my_date3a]]

Hình ảnh của tác giả

Đối với phương thức đầu tiên,

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
2, giống như tên phương thức, nó chỉ có thể phân tích cú pháp ngày ở định dạng ISO, YYYY-MM-DD, như trong biến có tên
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
5. Do đó, khi chúng tôi cố gắng sử dụng phương thức này cho các định dạng DateTime khác như trong
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
6, nó sẽ trả về Lỗi Giá trị. Biến
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
7 là đối tượng DateTime mà chúng ta nhận được bằng cách phân tích cú pháp biến
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
5

Dưới đây là một ví dụ về phân tích ngày tháng bằng phương pháp

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
3. Đối với phương pháp này, chúng tôi phải chỉ định mã định dạng dựa trên định dạng ngày để phân tích ngày. Bạn có thể đọc thêm về mã định dạng tại

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00

Hãy xem một ví dụ khác với định dạng ngày khác

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
1

Phân tích ngày bằng phương pháp

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
10 bằng cách thay thế ngày, tháng và năm bằng các mã định dạng tương ứng. Như trong ví dụ trên, %d cho ngày, %m cho chữ số tháng, %B cho tên đầy đủ của tháng và %Y cho năm có thế kỷ

Chà, bây giờ nó có thể trông rất phức tạp nếu bạn chưa quen với điều này, nhưng tôi đảm bảo với bạn rằng bạn sẽ rất tuyệt khi bạn đã quen với mã định dạng. Hãy nhớ rằng, bạn luôn có thể tham khảo. 😉

Định dạng ngày giờ

Sau khi chúng tôi phân tích đối tượng chuỗi thành đối tượng DateTime, nó sẽ được hiển thị ở định dạng ISO. Nếu bạn muốn nó ở dạng khác, chúng tôi phải sử dụng phương pháp

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
11 để định dạng ngày

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
4

Xin lưu ý rằng sau khi chúng tôi định dạng ngày, nó sẽ trở thành một chuỗi

Sau khi chúng tôi phân tích chuỗi thành đối tượng DateTime, chúng tôi có thể lấy thông tin từ nó

2. Trích xuất thông tin Năm / Tháng / Ngày

Ghi chú. Ví dụ dưới đây sử dụng biến từ ví dụ trong phần đầu tiên

Để có được thông tin năm, tháng và ngày, chúng ta chỉ cần sử dụng thuộc tính tương ứng bên dưới từ đối tượng DateTime

  • # my_date2 = "01-07-2022"
    my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
    print[type[my_date2a]]
    print[my_date2a]
    # Output:
    #
    # 2022-07-03 00:00:00
    12
  • # my_date2 = "01-07-2022"
    my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
    print[type[my_date2a]]
    print[my_date2a]
    # Output:
    #
    # 2022-07-03 00:00:00
    13
  • # my_date2 = "01-07-2022"
    my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
    print[type[my_date2a]]
    print[my_date2a]
    # Output:
    #
    # 2022-07-03 00:00:00
    14
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
8

Đơn giản phải không?

Tuy nhiên, chúng tôi không thể trích xuất thông tin trên từ một ngày được định dạng

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
9

Hình ảnh của tác giả

Nó sẽ trả về Lỗi thuộc tính. Điều này là do khi chúng tôi định dạng ngày thành các định dạng khác, nó sẽ lại trở thành một đối tượng chuỗi. Chúng tôi chỉ có thể trả về các thuộc tính DateTime từ một đối tượng DateTime

import datetime as dtmy_date1 = "2022-07-01"
print[my_date1]
print[type[my_date1]]
my_date2 = "01-07-2022"
print[my_date2]
print[type[my_date2]]
my_date3 = "01July2022"
print[my_date3]
print[type[my_date3]]
0

Xin lưu ý rằng tích của strftime[] là một đối tượng chuỗi, trong khi tích của strptime[] là một đối tượng DateTime

3. Tính Tuần Thế giới từ Ngày

Ghi chú. Trong phần này, chúng ta sẽ sử dụng các biến mới cho ví dụ

Đầu tiên, tôi tạo hai đối tượng chuỗi mới với các ngày khác nhau và sau đó phân tích chúng thành các đối tượng DateTime

import datetime as dtmy_date1 = "2022-07-01"
print[my_date1]
print[type[my_date1]]
my_date2 = "01-07-2022"
print[my_date2]
print[type[my_date2]]
my_date3 = "01July2022"
print[my_date3]
print[type[my_date3]]
1

Chúng ta sẽ sử dụng phương thức

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
15 để lấy thông tin tuần thế giới từ đối tượng DateTime. Điều này là do đối tượng DateTime không có thuộc tính world week

import datetime as dtmy_date1 = "2022-07-01"
print[my_date1]
print[type[my_date1]]
my_date2 = "01-07-2022"
print[my_date2]
print[type[my_date2]]
my_date3 = "01July2022"
print[my_date3]
print[type[my_date3]]
3

Phương thức

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
15 sẽ trả về một bộ chứa năm ISO, số tuần và ngày trong tuần. Ngày trong tuần sẽ được trả về dưới dạng số. Chúng ta có thể trả về giá trị với chỉ mục tương ứng

my_date1a = dt.datetime.fromisoformat[my_date1]
print[type[my_date1a]]
my_date3a = dt.datetime.fromisoformat[my_date3]
print[type[my_date3a]]
0

Đó là cách chúng tôi nhận được số tuần, cũng như năm và ngày trong tuần

4. Tính ngày trong tuần từ ngày

Ghi chú. Ví dụ dưới đây sử dụng biến từ ví dụ ở phần 3

Có nhiều hơn một phương thức để trả về thông tin ngày trong tuần từ một ngày. Một trong những phương pháp là thông qua

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
15 như đã trình bày trong phần trước. Một phương pháp khác là sử dụng phương pháp
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
18 được hiển thị bên dưới

my_date1a = dt.datetime.fromisoformat[my_date1]
print[type[my_date1a]]
my_date3a = dt.datetime.fromisoformat[my_date3]
print[type[my_date3a]]
1

Chà, 2022–07–01 là Thứ Sáu. Phương thức

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
15 không tuân theo quy tắc chỉ mục python. Vì vậy, trên thực tế, cả hai phương thức
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
15 và
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
18 đều bắt đầu đếm vào Thứ Hai, nhưng
# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
15 sử dụng chỉ mục bắt đầu từ 1, trong khi ngày trong tuần[] là một hàm python bắt đầu từ 0. Hai phương thức được đề cập trả về ngày trong tuần dưới dạng số. Có một phương pháp nữa để làm như vậy, bạn có đoán được không 🤔?

Đó là phương pháp

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
43

Chúng ta có thể lấy tên của ngày trong tuần bằng cách định dạng ngày bằng mã định dạng tương ứng

my_date1a = dt.datetime.fromisoformat[my_date1]
print[type[my_date1a]]
my_date3a = dt.datetime.fromisoformat[my_date3]
print[type[my_date3a]]
2

Chúng ta có thể trả về tên viết tắt của ngày trong tuần bằng cách định dạng chúng bằng cách sử dụng mã định dạng “%a” như trong ví dụ trên hoặc trả về tên đầy đủ của ngày trong tuần bằng cách sử dụng mã định dạng “%A” như trong ví dụ bên dưới

my_date1a = dt.datetime.fromisoformat[my_date1]
print[type[my_date1a]]
my_date3a = dt.datetime.fromisoformat[my_date3]
print[type[my_date3a]]
3

Chúng tôi cũng có thể trả lại ngày trong tuần dưới dạng số

my_date1a = dt.datetime.fromisoformat[my_date1]
print[type[my_date1a]]
my_date3a = dt.datetime.fromisoformat[my_date3]
print[type[my_date3a]]
4

Một sự thật thú vị, khi bạn sử dụng phương pháp

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
43, việc đếm bắt đầu vào Chủ nhật và chỉ số bắt đầu từ 0, như thể hiện trong

Để hiểu rõ hơn, tôi đã tổng hợp bảng so sánh bên dưới để chỉ ra sự khác biệt giữa một số phương thức trả về ngày trong tuần dưới dạng số từ ngày mà tôi đã trình bày ở trên

Sự khác biệt giữa các phương thức để trả về ngày trong tuần dưới dạng số từ ngày. Hình ảnh của tác giả

5. Chuyển đổi đối tượng DateTime thành Thời gian

Ghi chú. Trong phần này, chúng ta sẽ sử dụng các biến mới cho ví dụ

Chúng ta đã xem qua các phương thức và thuộc tính để trả về năm, tháng, ngày, số tuần thế giới và ngày trong tuần. Nếu bạn còn nhớ ví dụ về tên báo cáo mà tôi đã đưa ra ở đầu bài viết này, “Báo cáo tiêu thụ điện 2022_Q4_WW43. xlsx”, vẫn còn một thông tin chúng tôi chưa lấy được, đó là quý

Để có được phần tư từ ngày, chúng tôi phải sử dụng thư viện

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
45 cùng với thư viện DateTime

my_date1a = dt.datetime.fromisoformat[my_date1]
print[type[my_date1a]]
my_date3a = dt.datetime.fromisoformat[my_date3]
print[type[my_date3a]]
5

Đầu tiên, chúng tôi tạo một ngày dưới dạng một đối tượng chuỗi và sau đó chuyển đổi nó thành dấu thời gian. Sau đó, chúng ta có thể chuyển đổi dấu thời gian thành một khoảng thời gian

my_date1a = dt.datetime.fromisoformat[my_date1]
print[type[my_date1a]]
my_date3a = dt.datetime.fromisoformat[my_date3]
print[type[my_date3a]]
6

Nó khá đơn giản, phải không?

Theo tài liệu chính thức của gấu trúc, chỉ có 4 loại đầu ra cho phương pháp

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
46. Trong các phần trước, chúng tôi nhận được năm, tháng và tuần riêng biệt. Sau đó, phương thức này trả về khoảng thời gian cụ thể của ngày thay vì. Ví dụ: Quý 4 năm 2022 là quý 4 năm 2022

Cần thêm một bước nữa để chỉ truy xuất “Q4” thay vì “2022Q4”. Biến

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
47 bây giờ là một đối tượng thời gian. Vì vậy, chúng ta cần chuyển đổi nó thành một đối tượng chuỗi và sau đó trả về hai chuỗi cuối cùng để lấy “Q4”

my_date1a = dt.datetime.fromisoformat[my_date1]
print[type[my_date1a]]
my_date3a = dt.datetime.fromisoformat[my_date3]
print[type[my_date3a]]
7

Ngoài ra, chúng ta có thể định nghĩa hàm python để chỉ ra quý cho mỗi tháng. Phương pháp này cũng có thể áp dụng khi đơn vị bạn có phương pháp tính năm tài chính riêng. Ví dụ, quý đầu tiên có thể rơi vào tháng 11, tháng 12 và tháng 1

my_date1a = dt.datetime.fromisoformat[my_date1]
print[type[my_date1a]]
my_date3a = dt.datetime.fromisoformat[my_date3]
print[type[my_date3a]]
8

Phần trên cho thấy cách trả lại quý khi tổ chức của bạn không tuân theo định nghĩa quý tiêu chuẩn. Bạn có thể sửa đổi điều kiện theo định nghĩa quý của tổ chức của bạn

6. Tính khoảng thời gian ngày tháng

Ghi chú. Trong phần này, chúng ta sẽ sử dụng các biến mới cho ví dụ

Có hai kiểu tính toán cho khoảng thời gian DateTime

  1. Tính khoảng thời gian giữa hai ngày
  2. Cộng/trừ một khoảng thời gian cho đến ngày

Hãy xem từng người một

Trước đó, hãy tạo một số ngày làm ví dụ

my_date1a = dt.datetime.fromisoformat[my_date1]
print[type[my_date1a]]
my_date3a = dt.datetime.fromisoformat[my_date3]
print[type[my_date3a]]
9

Tính khoảng thời gian giữa hai ngày

Thật đơn giản để tính khoảng thời gian giữa hai ngày. Chúng ta chỉ cần trừ đi một ngày từ một ngày khác

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
0

Đầu ra sẽ là một timedelta, đề cập đến sự khác biệt giữa hai đối tượng DateTime

Cộng/trừ một khoảng thời gian cho đến ngày

Một ví dụ khác là cộng hoặc trừ một khoảng thời gian cho đến ngày

# my_date2 = "01-07-2022"
my_date2a = dt.datetime.strptime[my_date2, "%d-%m-%Y"]
print[type[my_date2a]]
print[my_date2a]
# Output:
#
# 2022-07-03 00:00:00
1

Chúng tôi sẽ sử dụng cho hoạt động này. Lớp này cho phép chúng ta cộng/trừ ngày, giây hoặc micro giây vào/từ các ngày

Phần kết luận

Tóm lại, các phương pháp phân tích cú pháp đối tượng chuỗi thành đối tượng DateTime và định dạng đối tượng DateTime thành một định dạng cụ thể đã được trình bày. Sau đó, các cách để có được năm, tháng, ngày, tuần thế giới và cả ngày trong tuần từ ngày được thảo luận

Trình bày cách chuyển đổi một đối tượng DateTime thành một khoảng thời gian như năm, tháng trong năm và cả quý trong năm. Đối với các tổ chức có phương pháp tính toán năm tài chính của họ, câu lệnh điều kiện có thể được sử dụng để trả về đúng quý

Cuối cùng, giải thích về hai kiểu tính toán cho khoảng Ngày giờ, tính toán khoảng thời gian giữa hai ngày và cộng/trừ một khoảng thời gian cho đến ngày.

Với tất cả các phương pháp và ví dụ tôi đã chỉ ra, bạn có thể tạo lại tên tệp bên dưới với ngày hôm nay [26/10/2022] không?

  • “Báo cáo tiêu thụ điện 2022_Q4_WW43. xlsx”
  • “Báo cáo yêu cầu công cụ 20221021. csv”

Đáp án ở cuối bài viết. Hãy tự mình thử trước khi bạn kiểm tra câu trả lời. 😉

Tôi hy vọng bạn thích đọc bài viết này và hy vọng nó sẽ giúp bạn hiểu thêm về cách xử lý đối tượng DateTime trong Python. Cảm ơn. 😊

Giữ liên lạc

Đăng ký trên YouTube

Ghi chú bên lề

Trong Mẹo tự động hóa báo cáo với Python, tôi đã giải thích một số mẹo về tự động hóa báo cáo. Kiểm tra nó ra

Làm cách nào để chỉ in ngày trong DateTime Python?

Đối với điều này, chúng tôi sẽ sử dụng phương thức strptime[] và mô-đun Pandas . Phương thức này được sử dụng để tạo một đối tượng DateTime từ một chuỗi. Sau đó, chúng tôi sẽ trích xuất ngày từ đối tượng DateTime bằng cách sử dụng hàm date[] và dt. ngày từ Pandas trong Python.

Làm cách nào để chỉ in ngày trong DateTime?

ToString[] − Một cách nữa để lấy ngày từ DateTime là sử dụng phương thức mở rộng ToString[]. Ưu điểm của việc sử dụng phương thức mở rộng ToString[] là chúng ta có thể chỉ định định dạng của ngày mà chúng ta muốn tìm nạp. Ngày giờ. Date - cũng sẽ xóa thời gian khỏi DateTime và chỉ cung cấp cho chúng tôi Ngày

Làm cách nào để chỉ lấy ngày từ dấu thời gian trong Python?

Hàm fromtimestamp[] được sử dụng để trả về ngày được liên kết với dấu thời gian đã cho

Chủ Đề