Tôi cần kiểm tra xem chuỗi dấu thời gian có nằm trong phạm vi thời gian không:
tt = '26-12-2012 18:32:51'
t1 = datetime.timedelta(0, 28800) #08:00 giờ
t2 = datetime.timedelta(0, 68400) #19:00 giờ
Để so sánh, tôi có cần chuyển đổi dấu thời gian thành đồng bằng thời gian không? Làm thế nào để làm điều đó, so sánh như sau:
nếu tt >= t1 và tt <= t2:
Cảm ơn..
Đầu tiên, sử dụngdatetime.strptime
Xây dựng một đối tượng datetime:
>>> t = datetime.datetime.strptime('26-12-2012 18:32:51', '%d-%m-%Y %H:%M:%S')
>>> t
datetime.datetime(2012, 12, 26, 18, 32, 51)
Bây giờ, hãy xây dựng một đối tượng datetime thứ hai chỉ đại diện cho phần ngày:
>>> t2 = t.replace(giờ=0, phút=0, giây=0)
Từ đó bạn có thể có được một datetime.timedelta
phù hợp với cái khác của bạn đồng bằng thời gian
Để so sánh:
>>>t-t2
datetime.timedelta(0, 66771)
>>> dt = t - t2
>>> dt1 = datetime.timedelta(0, 28800) #08:00 giờ
>>> dt2 = datetime.timedelta(0, 68400) #08:00 giờ
>>> dt > dt1
ĐÚNG VẬY
>>> dt2 > dt > dt1
ĐÚNG VẬY
Tôi là một lập trình viên xuất sắc, rất giỏi!