husonet | Tarih: 14.02.2011
python tarih işlemleri
Örneklerle python tarih işlemleri
python tarih işlemleri
Çıktımız aşağıdaki gibi olacaktır.
Timezone göre tarih üzerinden saati belirleme
#!/usr/bin/python
# -*- coding: utf-8 -*-
#-----------------------------------------------------------------------------
# Python Tarih İşlemleri İçin Örneklerdir
#-----------------------------------------------------------------------------
from datetime import datetime
import time
#-----------------------------------------------------------------------------
# String dönüşümleri
#-----------------------------------------------------------------------------
# datetime nesnesinden stringe
dateobj = datetime(2011, 02, 13, 22, 50, 00)
datestr = dateobj.strftime("%d-%m-%Y %H:%M:%S")
print datestr
# time tupledan stringe
timetuple = (2011, 02, 13, 22, 50, 00, 2, 317, 0)
datestr = time.strftime("%d-%m-%Y %H:%M:%S", timetuple)
print datestr
#-----------------------------------------------------------------------------
# datetime dönüşümleri
#-----------------------------------------------------------------------------
# time tupledan datetime nesnesine
timetuple = (2011, 02, 13, 22, 50, 18, 2, 317, 0)
dateobj = datetime(*timetuple[0:6])
print repr(dateobj)
# string olarak işlenmiş tarih verisinden datetime nesnesine
datestr = "2011-02-13 22:50:51"
dateobj = datetime.strptime(datestr, "%Y-%m-%d %H:%M:%S")
print repr(dateobj)
# timestamp dan datetime nesnesine local zamanda
timestamp = 1124527167.595983
dateobj = datetime.fromtimestamp(timestamp)
print repr(dateobj)
# timestamp dan datetime nesnesine UTC zaman diliminde
timestamp = 1124527177.595983
dateobj = datetime.utcfromtimestamp(timestamp)
print repr(dateobj)
#-----------------------------------------------------------------------------
# zaman (time) tuples dönüşümleri
#-----------------------------------------------------------------------------
# datetime nesnesinden zaman (time) tuple
dateobj = datetime(2011, 02, 13, 22, 50, 50)
timetuple = dateobj.timetuple()
print repr(timetuple)
# string den time tuple
datestr = "2011-02-13 23:06:19"
timetuple = time.strptime(datestr, "%Y-%m-%d %H:%M:%S")
print repr(timetuple)
# timestamp dan time tuple UTC zaman diliminde
timestamp = 1226727167.595983
timetuple = time.gmtime(timestamp)
print repr(timetuple)
# timestamp dan time tuple local time zaman diliminde
timestamp = 1226527167.595983
timetuple = time.localtime(timestamp)
print repr(timetuple)
Çıktımız aşağıdaki gibi olacaktır.
13-02-2011 22:50:00
13-02-2011 22:50:00
datetime.datetime(2011, 2, 13, 22, 50, 18)
datetime.datetime(2011, 2, 13, 22, 50, 51)
datetime.datetime(2005, 8, 20, 11, 39, 27, 595983)
datetime.datetime(2005, 8, 20, 8, 39, 37, 595983)
time.struct_time(tm_year=2011, tm_mon=2, tm_mday=13, tm_hour=22, tm_min=50, tm_sec=50, tm_wday=6, tm_yday=44, tm_isdst=-1)
time.struct_time(tm_year=2011, tm_mon=2, tm_mday=13, tm_hour=23, tm_min=6, tm_sec=19, tm_wday=6, tm_yday=44, tm_isdst=-1)
time.struct_time(tm_year=2008, tm_mon=11, tm_mday=15, tm_hour=5, tm_min=32, tm_sec=47, tm_wday=5, tm_yday=320, tm_isdst=0)
time.struct_time(tm_year=2008, tm_mon=11, tm_mday=12, tm_hour=23, tm_min=59, tm_sec=27, tm_wday=2, tm_yday=317, tm_isdst=0)
1297631503.0
Timezone göre tarih üzerinden saati belirleme
nt = '2022-09-12 12:49:41+00:00'
tt = datetime.strptime(nt, "%Y-%m-%d %H:%M:%S%z")
ta = tt.astimezone(timezone(timedelta(hours=-4)))
ta.strftime('%Y-%m-%d %H:%M')
Out[122]: '2022-09-12 08:49'