2010-03-07 59 views
26

Đây là lần đầu tiên tôi ở đây vì vậy tôi hy vọng tôi đăng câu hỏi này ở đúng nơi. :)Cách kiểm tra xem ngày giờ có lớn hơn 20 giây không

Tôi cần xây dựng kiểm soát lũ cho tập lệnh của mình nhưng tôi không giỏi ở tất cả thời gian này để chuyển đổi thời gian với UTC và nội dung. Tôi hi vọng bạn có thể giúp tôi vượt qua. Tôi đang sử dụng Google App Engine với Python. Tôi đã có một datetimeproperty tại cơ sở dữ liệu DataStore cần được kiểm tra nếu nó cũ hơn 20 giây, sau đó tiến hành.

Ai đó có thể giúp tôi không?

Vì vậy, trong bán psuedo:

q = db.GqlQuery("SELECT * FROM Kudo WHERE fromuser = :1", user) 
lastplus = q.get() 

if lastplus.date is older than 20 seconds: 
print"Go!" 
+0

Cũng giống như một lưu ý chung, đó là một ý tưởng tốt để lưu trữ tất cả các ngày trong UTC và áp dụng múi giờ tại càng tốt thứ hai vừa qua. Xem http://www.enricozini.org/2009/debian/using-python-datetime/ để biết thông tin. – Cameron

+0

Cảm ơn giải pháp và thông tin bổ sung! :) – Jelle

Trả lời

42

Bạn có thể sử dụng các kiểu dữ liệu datetime.timedelta, như thế này:

import datetime 
lastplus = q.get() 
if lastplus.date < datetime.datetime.now()-datetime.timedelta(seconds=20): 
    print "Go" 

đọc thêm về nó ở đây: http://docs.python.org/library/datetime.html

Chúc mừng,

Philip

1

Hãy thử điều này:

from datetime import timedelta, datetime 
if lastplus.date < datetime.utcnow() + timedelta(seconds = -20): 
    print "fee fie fo foo!" 
Các vấn đề liên quan