22 Ağustos 2013 Perşembe

time Modülü

time modülü zaman değerlerini düzenlemekle ilgili birçok işlevi barındırır. Zamanı göstermek için iki standart vardır. Birisi zamanı Epoch'tan itibaren saniye olarak vermektir. Epoch Unix zaman başlangıcı olarak alınır ve takvime göre 1 Ocak 1970'e denk gelir. Eğer Epoch türünden şimdiki zamanı saniye biçiminde almak istersek, şu yöntemi kullanabiliriz.
import time
print time.time()
1377097485.43
Bu şekilde aldığımız çıktı bize 1 Ocak 1970'den itibaren kaç saniye geçtiğini verir. Diğer standart ise dokuz sayıdan oluşan bir tüp ile gösterimdir.
import time
print time.localtime()
time.struct_time(tm_year=2013, tm_mon=8, tm_mday=21, tm_hour=18, tm_min=7, tm_sec=20, tm_wday=2, tm_yday=233, tm_isdst=1)
Bu tüp bize sırası ile yıl(dört haneli),ay(1-12),gün(1-31),saat(0-23),saniye(0-59),haftanın günü(0-6),yılın kaçıncı günü olduğu(1-366) ve ileri saat uygulaması(0,1) bilgilerini bu şekilde alabiliyoruz.
localtime() fonksiyonu Epoch türünden argüman alabilir. Eğer saniye olarak argüman verirsek. Saniyenin 1 Ocak 1970'den itibaren denk geldiği zamanın bilgilerini bize döndürür. Eğer herhangi bir argüman vermezsek o anki zamanı time.time() ile dönen değeri argüman olarak alacak ve bulunduğumuz zamanın bilgilerini geriye döndürecektir.
Bulunduğumuz zamanın bilgilerini alabilmek için time modülünün ctime() fonksiyonunu da kullanabiliriz.
# -*- coding: utf-8 -*-

import time
print time.ctime()
Wed Aug 21 18:14:30 2013
Eğer elimizde bulunan localtime() tipinde bir zamanı epoch tipine dönüştürmek istersek mktime() fonksiyonunu kullanabiliriz.
import time
print time.mktime((2011,9,18,14,55,55,4,22,0))
1316350555.0
strftime() Fonksiyonu
strftime() fonksiyonu ile kendimize ait zaman cümlesi oluşturabiliriz.
import time
print time.strftime("%Y")
2013
Yıl ifadesini elde edebilmek için %Y yönergesini kullandık. Bu şekilde tüm yönergeleri listeleyelim.
Yönerge Anlamı
%a Kısaltılmış gün adı
%A Gün adı
%b Ayın kısaltılmış adı
%B Ayın adı
%c Tam tarih ve saat
%d Ayın günü(01-31)
%H saat(00-24)
%I saat(01-12)
%j gün(01-366)
%m ay(00-12)
%M dakika(00-59)
%p öğleden önce(ÖÖ),öğleden sonra(ÖS)
%S saniye(00-59)
%U yılın kaçıncı haftası(00-53)
%w haftanın kaçıncı günü(0-6)
%y yılın son iki hanesi(15)
%d Ayın günü(örnek:Nisan için 13)
%Y Yıl
Buradaki değerler sistemin yereline bağlı olarak değişmektedir. Sisteminizin yereli İngilizce ise sonuçları da İngilizce olarak alırsınız.
import time
print time.strftime("%d/%m/%Y")
22/08/2013
Bu şekilde kullanarak tarih veya saat ile ilgili istediğimiz çıktıları alabiliriz.
sleep() Fonksiyonu
time modülünün sleep() fonksiyonu programımızı istediğimiz süre kadar durdurmamızı sağlar. Aldığı argüman saniye cinsindendir.
import time
time.sleep(2)
Bu kod programımızı 2 saniyeliğine durduracaktır.