Hướng dẫn how do you check if a time is between two times in python? - làm cách nào để kiểm tra xem thời gian có nằm giữa hai lần trong python không?
Hãy nhìn vào gói py-time-Between: https://pypi.org/project/py-time-beltween/ Show Trường hợp kiểm tra: Làm thế nào để kiểm tra xem thời gian hiện tại có trong một phạm vi trong Python không? Xây dựng vấn đềVới dấu thời gian Mục tiêu: Tạo một chức năng kiểm tra xem dấu thời gian nhất định có rơi vào khoảng import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)0t and import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)1. Các ràng buộc: Nếu khoảng thời gian trống khi import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)2 and import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)3, the function should return import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)4. Phương pháp 1: So sánh các đối tượng DateTimeCác đối tượng DateTime có thể so sánh, vì vậy bạn có thể so sánh các đối tượng import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)5 bằng cách sử dụng các toán tử so sánh import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)6, import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)7, import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)8, import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)9 và from datetimerange import DateTimeRange time_range = DateTimeRange("2020-03-22T10:00:00+0900", "2025-03-22T10:10:00+0900") print("2022-03-22T10:05:00+0900" in time_range) print("2042-03-22T10:15:00+0900" in time_range) time_range_smaller = DateTimeRange("2021-03-22T10:03:00+0900", "2022-03-22T10:07:00+0900") print(time_range_smaller in time_range)0. Do đó, bạn có thể sử dụng biểu thức from datetimerange import DateTimeRange time_range = DateTimeRange("2020-03-22T10:00:00+0900", "2025-03-22T10:10:00+0900") print("2022-03-22T10:05:00+0900" in time_range) print("2042-03-22T10:15:00+0900" in time_range) time_range_smaller = DateTimeRange("2021-03-22T10:03:00+0900", "2022-03-22T10:07:00+0900") print(time_range_smaller in time_range)1 để kiểm tra xem thời gian hiện tại có rơi vào khoảng [start, end] khi giả sử rằng start , end và from datetimerange import DateTimeRange time_range = DateTimeRange("2020-03-22T10:00:00+0900", "2025-03-22T10:10:00+0900") print("2022-03-22T10:05:00+0900" in time_range) print("2042-03-22T10:15:00+0900" in time_range) time_range_smaller = DateTimeRange("2021-03-22T10:03:00+0900", "2022-03-22T10:07:00+0900") print(time_range_smaller in time_range)5 là các đối tượng import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)5. Để kiểm tra xem thời gian hiện tại có giảm trong một khoảng cụ thể không, hãy sử dụng các bước sau (xem mã):
Đây là mã: import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;) Mã trả về True False True3 Nếu bạn chạy nó giữa (HH: mm: SS) 00:00:00 và 23:55:00 trên máy tính của bạn. Chỉ khi bạn chạy nó trong khoảng thời gian từ 23:55:00 đến 23:59:59, nó sẽ trả lại import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)4.00:00:00 and 23:55:00 on your computer. Only if you run it between 23:55:00 and 23:59:59 it returns import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)4. Phương pháp 2: DatetimerangeTrue False True5 là thư viện Python cho phép bạn kiểm tra xem thời gian có nằm trong phạm vi thời gian bằng ba bước sau không:
Tài liệu cung cấp mã ví dụ sau: from datetimerange import DateTimeRange time_range = DateTimeRange("2020-03-22T10:00:00+0900", "2025-03-22T10:10:00+0900") print("2022-03-22T10:05:00+0900" in time_range) print("2042-03-22T10:15:00+0900" in time_range) time_range_smaller = DateTimeRange("2021-03-22T10:03:00+0900", "2022-03-22T10:07:00+0900") print(time_range_smaller in time_range) Ở đây, đầu ra của mã mẫu này: True False True Thời gian đầu tiên nằm trong phạm vi vì năm 2022 nằm trong [2020, 2025]. Dấu thời gian thứ hai không rơi vào phạm vi [2020, 2025] bởi vì nó liên quan đến năm 2042 (có thể là tương lai khi bạn đọc điều này). Khoảng thời gian thứ ba là một khoảng thời gian nhỏ hơn [2021, 2022] bị chi phối bởi [2020, 2025]. Do đó, nó nằm trong khoảng thời gian và giá trị trả về là True False True3. Nếu bạn cần chức năng để giải quyết chính xác công thức vấn đề, hãy sử dụng mã sau: def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return current in DateTimeRange(start, end) print(time_in_range("2027-03-22T10:00:00+0900", "2025-03-22T10:10:00+0900", "2042-03-22T10:15:00+0900")) # True Mã sử dụng các biểu diễn chuỗi yyyy-mm-ddthh: mm: ss+millisecs để chỉ định ba dấu thời gian from datetimerange import DateTimeRange time_range = DateTimeRange("2020-03-22T10:00:00+0900", "2025-03-22T10:10:00+0900") print("2022-03-22T10:05:00+0900" in time_range) print("2042-03-22T10:15:00+0900" in time_range) time_range_smaller = DateTimeRange("2021-03-22T10:03:00+0900", "2022-03-22T10:07:00+0900") print(time_range_smaller in time_range)5. YYYY-MM-DDTHH:MM:SS+millisecs to specify the three timestamps start , end , and from datetimerange import DateTimeRange time_range = DateTimeRange("2020-03-22T10:00:00+0900", "2025-03-22T10:10:00+0900") print("2022-03-22T10:05:00+0900" in time_range) print("2042-03-22T10:15:00+0900" in time_range) time_range_smaller = DateTimeRange("2021-03-22T10:03:00+0900", "2022-03-22T10:07:00+0900") print(time_range_smaller in time_range)5. Bản tóm tắtCác đối tượng DateTime có thể so sánh, vì vậy bạn có thể so sánh các đối tượng import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)5 bằng cách sử dụng các toán tử so sánh import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)6, import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)7, import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)8, import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)9 và from datetimerange import DateTimeRange time_range = DateTimeRange("2020-03-22T10:00:00+0900", "2025-03-22T10:10:00+0900") print("2022-03-22T10:05:00+0900" in time_range) print("2042-03-22T10:15:00+0900" in time_range) time_range_smaller = DateTimeRange("2021-03-22T10:03:00+0900", "2022-03-22T10:07:00+0900") print(time_range_smaller in time_range)0. Do đó, bạn có thể sử dụng biểu thức from datetimerange import DateTimeRange time_range = DateTimeRange("2020-03-22T10:00:00+0900", "2025-03-22T10:10:00+0900") print("2022-03-22T10:05:00+0900" in time_range) print("2042-03-22T10:15:00+0900" in time_range) time_range_smaller = DateTimeRange("2021-03-22T10:03:00+0900", "2022-03-22T10:07:00+0900") print(time_range_smaller in time_range)1 để kiểm tra xem thời gian hiện tại có rơi vào khoảng [start, end] khi giả sử rằng start , end và from datetimerange import DateTimeRange time_range = DateTimeRange("2020-03-22T10:00:00+0900", "2025-03-22T10:10:00+0900") print("2022-03-22T10:05:00+0900" in time_range) print("2042-03-22T10:15:00+0900" in time_range) time_range_smaller = DateTimeRange("2021-03-22T10:03:00+0900", "2022-03-22T10:07:00+0900") print(time_range_smaller in time_range)5 là các đối tượng import datetime def time_in_range(start, end, current): """Returns whether current is in the range [start, end]""" return start <= current <= end start = datetime.time(0, 0, 0) end = datetime.time(23, 55, 0) current = datetime.datetime.now().time() print(time_in_range(start, end, current)) # True (if you're not a night owl) ;)5. Ngoài ra, bạn có thể sử dụng thư viện Python True False True5 để kiểm tra xem thời gian có nằm trong phạm vi thời gian hay không nhưng bạn cần cài đặt nó trước bằng True False True6. Lập trình viên hài hước
Trong khi làm việc như một nhà nghiên cứu trong các hệ thống phân tán, Tiến sĩ Christian Mayer đã tìm thấy tình yêu của mình đối với việc dạy các sinh viên khoa học máy tính. Để giúp học sinh đạt được thành công cao hơn của Python, ông đã thành lập trang web giáo dục chương trình Finxter.com. Ông là tác giả của cuốn sách lập trình phổ biến Python Oneer (Nostarch 2020), đồng tác giả của loạt sách Break Break Python, những cuốn sách tự xuất bản, người đam mê khoa học máy tính, freelancer và chủ sở hữu của một trong 10 blog Python lớn nhất trên toàn thế giới. Niềm đam mê của ông là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ tăng cường các kỹ năng của họ. Bạn có thể tham gia học viện email miễn phí của anh ấy ở đây. |