Bölüm kodlarını ve/veya veri setlerini indir.
Zaman, saat ve tarih ile ilgili işlemler yapmak için datetime modülünü kullanırız. Bunun için ilk olarak modülü import edelim.
import datetime
Datetime modülü altında bulunan özelliklere göz atalım;
print(dir(datetime))
Çıktı:
['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'sys', 'time', 'timedelta', 'timezone', 'tzinfo']
3 başlığı inceleyelim;
- date: tarihle ilgili işlemler yapabilmemizi sağlayan fonksiyonları barındırır.
- time: zaman/saatle ilgili işlemler yapabilmemizi sağlayan fonksiyonları barındırır.
- datetime: date ve time özelliklerinin birleşiminden oluşan fonksiyonları barındırır.
- now(): şuanki zamanı veren ifadedir.
nowTime=datetime.datetime.now() print(nowTime)
Çıktı:
2021-12-13 21:52:55.746479
print(nowTime.year) print(nowTime.month) print(nowTime.day) print(nowTime.hour) print(nowTime.minute) print(nowTime.second)
Çıktı:
2021 12 13 21 52 55
- today() : Bugünün zamanını verir. now() ile aynı işlevdedir.
datetime.datetime.today()
Çıktı:
datetime.datetime(2021, 12, 13, 21, 56, 47, 89779)
- ctime(): içinde bulunduğumuz ana ilişkin tarih ve zaman bilgilerini daha okunaklı bir şekilde görmemizi sağlar.
nowTime=datetime.datetime.now() datetime.datetime.ctime(nowTime)
Çıktı:
'Mon Dec 13 22:00:31 2021'
- strftime(): Tarih ve zaman bilgilerini ihtiyaç doğrultusunda biçimlendirme imkanı sunar. strftime(zaman_değeri,biçimlendirici) şeklinde kullanılır. Biçimlendiriciler listesi;
- %a: hafta gününün kısaltılmış adı
- %A: hafta gününün tam adı
- %b: ayın kısaltılmış adı
- %B: ayın tam adı
- %c: tam tarih, saat ve zaman bilgisi
- %d: sayı değerli karakter dizisi olarak gün
- %j: tarihin yılın kaçıncı gününe geldiğini gösteren bir sayı
- %m: sayı değerli bir karakter dizisi olarak ay
- %U: tarihin yılın kaçıncı haftası olduğunu gösteren bir sayı
- %y : yılın son rakamı
- %Y: yılın tam hali
- %x: tam tarih bilgisi
- %X: tam saat bilgisi
nowTime=datetime.datetime.now() datetime.datetime.strftime(nowTime,"%x")
Çıktı:
'12/13/21'
nowTime=datetime.datetime.now() datetime.datetime.strftime(nowTime,"%A
Çıktı:
'Monday'
Dikkat edilirse tarih çıktıları ingilizce olarak görünmektedir. Bu durumda istenilen dilde çıktı almak için locate modülünün içe aktarılması gerekmektedir.
import locale
locale.setlocale(locale.LC_ALL,"")
Çıktı:
'Turkish_Turkey.1254'
Bu işlem sonucunda strftime() fonksiyonun sonucunu Türkçe olarak alabiliriz.
nowTime=datetime.datetime.now()
datetime.datetime.strftime(nowTime,"%A
Çıktı:
'Pazartesi'
Yukarıda bahsettiğimiz biçimlendiricileri çoklu bir şekilde de kullanabiliriz.
nowTime=datetime.datetime.now()
datetime.datetime.strftime(nowTime,"%d %B %Y")
Çıktı:
'13 Aralık 2021'
İki tarih arasındaki farkı bulmak
nowTime=datetime.datetime.now()
oldTime=datetime.datetime(2000,1,1)
dif=nowTime-oldTime
print(dif)
print(dif.days)
Çıktı:
8017 days, 22:24:12.515262 8017