Hướng dẫn how to store date in python - cách lưu trữ ngày tháng trong python

Cách lưu trữ ngày và giờ ở Python

Sử dụng thư viện Python DateTime để lưu trữ ngày và thời gian hiệu quả

Ảnh của Waldemar Brandt trên unplash

Thư viện DateTime cho phép chúng tôi lưu trữ dễ dàng hẹn hò và thời gian trong các chương trình của chúng tôi. Nó cung cấp ba lớp chính:

  • ngày, chỉ để lưu trữ ngày, for storing only dates
  • thời gian, chỉ để lưu trữ thời gian trong ngày, for storing only the time of the day
  • DateTime, để lưu trữ cả ngày và giờ, for storing both date and time

Trong các phần sau, chúng ta sẽ thấy cách sử dụng ba lớp này.

Tạo một biến mới

Người xây dựng lớp

Mỗi lớp có hàm tạo riêng. Đối với

t = time(hour, minute, second, microsecond)
2class, nó là

d = date(year, month, day)

Mỗi giá trị phải là một số nguyên và năm có thể là bất kỳ số nào từ 1 đến 9999.

Đối với

t = time(hour, minute, second, microsecond)
3Class, bạn có thể chỉ định giờ, phút, giây, micro giây:

t = time(hour, minute, second, microsecond)

Mỗi biến phải nằm trong phạm vi sau:

  • 0 giờ <24
  • 0 phút <60
  • 0 ≤ thứ hai <60
  • 0 Microsecond <1000000

Cuối cùng, hàm tạo cho các trường

t = time(hour, minute, second, microsecond)
4Contains cho cả ngày và giờ:

dt = datetime(year, month, day, hour, minute, second, microsecond)

Tạo từ một chuỗi

t = time(hour, minute, second, microsecond)
4Objects cũng có thể được tạo bắt đầu từ một chuỗi, bằng cách sử dụng phương thức sau (điều này không có sẵn cho
t = time(hour, minute, second, microsecond)
3 hoặc
t = time(hour, minute, second, microsecond)
2):

dt = datetime.strptime(date_string, format)

Biến

t = time(hour, minute, second, microsecond)
8 là một chuỗi mô tả định dạng được sử dụng bởi
t = time(hour, minute, second, microsecond)
9. Ví dụ:

dt = datetime.strptime("12:30 15/06/2021", "%H:%M %d/%m/%Y")

Có nhiều biểu tượng có thể được sử dụng để chỉ định định dạng của chuỗi. Điều quan trọng nhất là:

  • dt = datetime(year, month, day, hour, minute, second, microsecond)
    0 cho ngày không có vỏ bọc trong tháng (01, 02, Hồi, 31). Thay vào đó, bạn cũng có thể sử dụng
    dt = datetime(year, month, day, hour, minute, second, microsecond)
    1 để tránh số 0 hàng đầu (1, 2,,, 31)
  • dt = datetime(year, month, day, hour, minute, second, microsecond)
    2 cho tên đầy đủ của tháng (tháng 1, tháng 2,
  • dt = datetime(year, month, day, hour, minute, second, microsecond)
    3 cho số lượng không có vành trong tháng (01, 02, Hồi, 12). Ngoài ra còn có
    dt = datetime(year, month, day, hour, minute, second, microsecond)
    4 để tránh sử dụng số 0 hàng đầu (1, 2, Mạnh, 12)
  • dt = datetime(year, month, day, hour, minute, second, microsecond)
    5 trong năm (1999, 2021, Mạnh)
  • dt = datetime(year, month, day, hour, minute, second, microsecond)
    6 trong giờ trong ngày (24 giờ) không được đệm (00, 01, Hồi, 23) hoặc
    dt = datetime(year, month, day, hour, minute, second, microsecond)
    7 để loại bỏ số 0 hàng đầu (0, 1, Hồi, 23)
  • dt = datetime(year, month, day, hour, minute, second, microsecond)
    8 trong giờ trong ngày trên đồng hồ 12 giờ, không được dán (01, 02, Hồi, 12) hoặc
    dt = datetime(year, month, day, hour, minute, second, microsecond)
    9 để loại bỏ số 0 hàng đầu (1, 2,, 12). Sau đó, bạn nên sử dụng
    dt = datetime.strptime(date_string, format)
    0 để cho biết AM hoặc PM
  • dt = datetime.strptime(date_string, format)
    1 cho phút, không được dán (00, 01,, 59) hoặc
    dt = datetime.strptime(date_string, format)
    2 để loại bỏ số 0 hàng đầu (0, 1, Hồi, 59)
  • dt = datetime.strptime(date_string, format)
    3 cho các giây, không có viền (00, 01, Hồi, 59) hoặc
    dt = datetime.strptime(date_string, format)
    4 để loại bỏ số 0 hàng đầu (0, 1, Hồi, 59)
  • dt = datetime.strptime(date_string, format)
    5 cho các micro giây, không có lông (000000, 000001, Hồi, 999999)

Để xem một danh sách đầy đủ, kiểm tra ở đây.

Sửa đổi một đối tượng

Có thể sửa đổi một trường duy nhất của một đối tượng bằng cách sử dụng phương thức

dt = datetime.strptime(date_string, format)
6. Hàm này sẽ trả về một đối tượng mới cùng loại, trong đó tất cả các giá trị giống nhau ngoại trừ các giá trị được chỉ định. Nó có thể được sử dụng bởi tất cả các lớp.

d = date(2021, 7, 20)
# d represents 20/7/2021
newDate = d.replace(day = 30)
# Now newDate represents 30/7/2021

Nhận giá trị từ các đối tượng

Các giá trị của ngày, tháng, năm (đối với

t = time(hour, minute, second, microsecond)
2) và của giờ, phút, giây, micro giây (đối với
t = time(hour, minute, second, microsecond)
3) có thể được truy cập dưới dạng các trường chỉ đọc. Các đối tượng
t = time(hour, minute, second, microsecond)
4 có tất cả các trường đã đề cập trước đó.

dt = datetime(2021, 7, 21, 14, 30, 0, 0)
hour = dt.hour # Get the hour stored in dt
day = dt.day # Get the day stored in dt
# etc

Nhận dữ liệu làm chuỗi

Chúng ta cũng có thể nhận được giá trị được lưu trữ trong đối tượng

t = time(hour, minute, second, microsecond)
2,
t = time(hour, minute, second, microsecond)
3 hoặc
t = time(hour, minute, second, microsecond)
4 dưới dạng chuỗi bằng cách sử dụng phương thức
dt = datetime.strptime("12:30 15/06/2021", "%H:%M %d/%m/%Y")
3 của chúng. Bạn chỉ cần vượt qua định dạng nên được sử dụng để tạo chuỗi, chẳng hạn như:

dt = datetime(2021, 7, 21, 14, 30, 0, 0)
print(dt.strftime("%H:%M %d/%m/%Y"))
# Will output: 14:30 21/07/2021

Để kiểm tra các ký hiệu nào có thể được sử dụng trong chuỗi định dạng, xem ở đây.

Nhận ngày trong tuần

Hàm

dt = datetime.strptime("12:30 15/06/2021", "%H:%M %d/%m/%Y")
4 có thể được sử dụng với các đối tượng
t = time(hour, minute, second, microsecond)
2 hoặc
t = time(hour, minute, second, microsecond)
4 để có được ngày trong tuần như một số nguyên: Thứ Hai là 0, Chủ nhật là 6.

d = date(2021, 7, 28)
week_day = d.weekday() # This will be 2 (Wednesday)

Các phép tính toán học

Với thư viện DateTime, cũng có thể thực hiện các hoạt động số học qua ngày và thời gian. Để làm như vậy, có một lớp khác,

dt = datetime.strptime("12:30 15/06/2021", "%H:%M %d/%m/%Y")
7, được sử dụng để lưu trữ thời gian trôi qua giữa hai ngày (hoặc thời gian khác) tính bằng micro giây. Hàm tạo là:

timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

Để có được tổng thời gian được lưu trữ trong một

dt = datetime.strptime("12:30 15/06/2021", "%H:%M %d/%m/%Y")
7Object trong vài giây, bạn có thể sử dụng phương thức
dt = datetime.strptime("12:30 15/06/2021", "%H:%M %d/%m/%Y")
9.

t = time(hour, minute, second, microsecond)
0

Lớp này có thể được sử dụng để tăng hoặc giảm giá trị được lưu trữ trong đối tượng ____ 13 (hoặc

t = time(hour, minute, second, microsecond)
2). Trong các ví dụ sau, chúng ta sẽ thấy cách thực hiện các hoạt động với các đối tượng
t = time(hour, minute, second, microsecond)
4, nhưng điều tương tự có thể đạt được với
t = time(hour, minute, second, microsecond)
2 hoặc
t = time(hour, minute, second, microsecond)
3.

Chúng ta có thể:

  • Trừ hai
    t = time(hour, minute, second, microsecond)
    4 giữa họ để có được đối tượng
    dt = datetime.strptime("12:30 15/06/2021", "%H:%M %d/%m/%Y")
    7
  • Thêm
    dt = datetime.strptime("12:30 15/06/2021", "%H:%M %d/%m/%Y")
    7 vào
    t = time(hour, minute, second, microsecond)
    4 để có được
    t = time(hour, minute, second, microsecond)
    4 mới
  • Trừ một
    dt = datetime.strptime("12:30 15/06/2021", "%H:%M %d/%m/%Y")
    7 từ
    t = time(hour, minute, second, microsecond)
    4 để có được một
    t = time(hour, minute, second, microsecond)
    4 mới

Các phương pháp hữu ích khác

Có nhiều phương pháp khác có thể hữu ích khi xử lý ngày. Trước hết, có một phương pháp tích hợp để có được ngày và giờ hiện tại:

  • dt = datetime(2021, 7, 21, 14, 30, 0, 0)
    hour = dt.hour # Get the hour stored in dt
    day = dt.day # Get the day stored in dt
    # etc
    3 trả về một đối tượng
    t = time(hour, minute, second, microsecond)
    2 với ngày hôm nay
  • dt = datetime(2021, 7, 21, 14, 30, 0, 0)
    hour = dt.hour # Get the hour stored in dt
    day = dt.day # Get the day stored in dt
    # etc
    5 trả về một đối tượng với ngày và giờ hiện tại

Chuyển đổi các đối tượng

Chúng ta cũng có thể chuyển đổi

t = time(hour, minute, second, microsecond)
4 thành đối tượng
t = time(hour, minute, second, microsecond)
2 hoặc đối tượng
t = time(hour, minute, second, microsecond)
3 bằng cách sử dụng các phương thức
dt = datetime(2021, 7, 21, 14, 30, 0, 0)
hour = dt.hour # Get the hour stored in dt
day = dt.day # Get the day stored in dt
# etc
9 và
dt = datetime(2021, 7, 21, 14, 30, 0, 0)
print(dt.strftime("%H:%M %d/%m/%Y"))
# Will output: 14:30 21/07/2021
0.

t = time(hour, minute, second, microsecond)
1

Sự kết luận

Cảm ơn bạn đã đọc đến cuối cùng!Tôi hy vọng bài viết này đã giúp bạn hiểu cách sử dụng thư viện DateTime.Nếu bạn cần thêm thông tin, bạn có thể kiểm tra tài liệu cho thư viện này.

Thêm nội dung tại Plainenglish.ioplainenglish.io