Hướng dẫn how do you compare hours in python? - làm thế nào để bạn so sánh giờ trong python?

Tôi có bốn biến:

start_hour = '12'
start_minute = '00'
end_hour = '22'
end_minute = '30'

và từ DateTime:

current_hour = datetime.now[].hour
curren_minute = datetime.now[].minute

Và tôi muốn so sánh nếu thời gian hiện tại nằm trong phạm vi:

if int[start_hour] = current_hour:
    something

Nhưng làm thế nào để thực hiện điều này với vài phút?

Hỏi ngày 25 tháng 7 năm 2016 lúc 20:31Jul 25, 2016 at 20:31

3

Bạn có thể sử dụng

current_hour = datetime.now[].hour
curren_minute = datetime.now[].minute
8 để thực hiện các so sánh đáng tin cậy. Bạn có thể chỉ định một đồng bằng theo các đơn vị thời gian khác nhau [giờ, phút, giây, v.v.] sau đó bạn không phải lo lắng về việc chuyển đổi thành giờ, phút, v.v. rõ ràng.

Ví dụ: để kiểm tra xem thời gian hiện tại là hơn một giờ từ

current_hour = datetime.now[].hour
curren_minute = datetime.now[].minute
9:

if abs[datetime.now[] - start_time] > datetime.timedelta[hours=1]:
    # Do thing 

Bạn cũng có thể sử dụng

if int[start_hour] = current_hour:
    something
0 để thay đổi thời gian theo một số tiền nhất định:

six_point_five_hours_from_now = datetime.now[] + datetime.timedelta[hours=6, minutes=30]

Điều tốt đẹp về

if int[start_hour] = current_hour:
    something
0 ngoài các chuyển đổi dễ dàng giữa các đơn vị là nó sẽ tự động xử lý sự khác biệt về thời gian kéo dài nhiều ngày, v.v.

Đã trả lời ngày 25 tháng 7 năm 2016 lúc 20:33Jul 25, 2016 at 20:33

SueversueverSuever

63,8K14 Huy hiệu vàng83 Huy hiệu bạc99 Huy hiệu đồng14 gold badges83 silver badges99 bronze badges

Một cách tốt hơn nhiều để đi về điều này sẽ Beto chuyển đổi cả hai lần thành phút:

start_time = int[start_hour]*60 + int[start_minute]
end_time = int[end_hour]*60 + int[end_minute]
current_time =  datetime.now[].hour*60 +datetime.now[].minute
if start_time = current_time:
    #doSomething

Nếu bạn cần bao gồm vài giây, hãy chuyển đổi mọi thứ thành giây.

Đã trả lời ngày 25 tháng 7 năm 2016 lúc 20:34Jul 25, 2016 at 20:34

Thế còn:

>>> import datetime

>>> now = datetime.datetime.now[]

>>> breakfast_time = now.replace[ hour=7, minute=30, second=0, microsecond=0 ]

>>> lunch_time = now.replace[ hour=12, minute=30, second=0, microsecond=0 ]

>>> coffee_break = now.replace[ hour=16, minute=00, second=0, microsecond=0 ]

>>> breakfast_time 

Bài Viết Liên Quan

Chủ Đề