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