Bir önceki yorumu ve ümit verici bir cevap vermek için yarım bir cevabı genişletiyorum. Herhangi tarafından kabul, hatta eski ve garip tarayıcılar - -
Bu seferki bilgim tek hızlı işlevinde en doğru ve kullanışlı çerez tarih biçimi için üretir kabul & mutlak bağıl zaman:
import time
_weekdayname = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
_monthname = [None,
'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
def cookie_date(epoch_seconds=None, future=0):
if not epoch_seconds:
epoch_seconds = time.time()
year, month, day, hh, mm, ss, wd, y, z = time.gmtime(epoch_seconds + future)
return "%s, %02d-%3s-%4d %02d:%02d:%02d GMT" % \
(_weekdayname[wd], day, _monthname[month], year, hh, mm, ss)
İşlev, uygun -
'leri yerine (RFC'ye göre tamam, ancak tüm tarayıcı tarafından tanınmıyor) boşluklar üreten Cookie._getdate()
/http.cookies._getdate()
'dan gelişmiştir. Bu işlev sadece göreceli zamanlamaya izin verir ve belgesiz bir işlevdir. Ancak sen tamsayı saniye verebileceği, aynı zamanda belgesiz özelliği tarafından kullanılabilecek daha sonra gelecek/geçmişe saniye olarak göreceli yorumlanır SimpleCookie
parÁacıkları alanına sona için (ancak yüzer değil!):
cookie_morsel['expires'] = +3600 # 1h into future; 3600.0 doesn't work!
Sık kullanılan time.strftime("%a, %d %b %Y %T GMT", t_expires)
, yerel ayarlara (% a,% d) ve OS'ye özgü belgesiz biçim özelliklerine (Windows'da anlaşılmayan% T) bağlı olduğundan, sorgulanabilirdir.
Sadece 'expires' alanlarını saniye cinsinden tam sayı olarak gelecek/geçmişe ayarlayabilirsiniz. Şamandıra çalışmıyor. 'Http.cookies._getdate()'/'Cookie._getdate()' konusuna bakın. Belgelenmemiş gibi görünüyor. – kxr