2011-08-30 26 views

cevap

70

O yapmalıyım o

import time 

date_time = '29.08.2011 11:05:02' 
pattern = '%d.%m.%Y %H:%M:%S' 
epoch = int(time.mktime(time.strptime(date_time, pattern))) 
print epoch 
+7

Bu, sunucunuzun yalnızca saat dilimi için çalışır. – eumiro

+1

mktime kullanıldığından bu, döndürülen dönemi UTC'ye göre ayarlamanız gerektiği anlamına mı geliyor? – ChuckCottrill

+0

Cevabınız için teşekkürler! Upvoted. –

2

Kullanım strptime zaman ayrıştırmak, ve Unix zaman damgasını almak için onun time() aramak için.

10

Eğer 24 saatlik zaman biçimini kullanıyorsanız varsayarak:

import time; 
t = time.mktime(time.strptime("29.08.2011 11:05:02", "%d.%m.%Y %H:%M:%S")); 
4
import time 
def expires(): 
    '''return a UNIX style timestamp representing 5 minutes from now''' 
    return int(time.time()+300) 
9
Your code will behave strange if 'TZ' is not set properly, e.g. 'UTC' or 'Asia/Kolkata' 

So, you need to do below 

>>> import time, os 
>>> d='2014-12-11 00:00:00' 
>>> p='%Y-%m-%d %H:%M:%S' 
>>> epoch = int(time.mktime(time.strptime(d,p))) 
>>> epoch 
1418236200 
>>> os.environ['TZ']='UTC' 
>>> epoch = int(time.mktime(time.strptime(d,p))) 
>>> epoch 
1418256000 
+0

Bir yazım hatası, kod snippet'iniz şöyle olmalıdır: os.environ ['TZ'] = 'UTC'. Anahtar TZ'nin 'ile süslendiğini unutmayın.' – sateesh

2

Eğer UTC gm fonksiyonların bazılarını deneyin isterseniz:

import time 
import calendar 

date_time = '29.08.2011 11:05:02' 
pattern = '%d.%m.%Y %H:%M:%S' 
utc_epoch = calendar.timegm(time.strptime(date_time, pattern)) 
print utc_epoch 
İlgili konular