kertenkerem_
· Genel · 1 dk okuma

Yaz bak, sonra unutursun (Part1)

Python tarih / saat biçimleri

Python’da bir şeyler yazarken beni en çok uğraştıran konulardan biri tarihleri istediğim formata sokmak. Aşağıdaki kısa örnekleri ilerde dönüp bakabilmek için buraya ekliyorum.

Lokal zamanı ISO 8601 formatına çevirmek

*now yerine utcnow da kullanabilirsiniz.

import datetime 
datetime.datetime.now().isoformat() 
>>> 2021-12-06T14:28:23.382748

Lokal zamanı ISO 8601 formatına mikrosaniyeler olmadan çevirmek

import datetime 
datetime.datetime.now().replace(microsecond=0).isoformat() 
>>> 2021-12-06T14:30:43

UTC olan zamanı timezone bilgisi ile ISO 8601 formatına çevirmek

import datetime 
datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat() 
>>> 2021-12-06T01:31:12.467113+00:00 

Tarih verisini istediğiniz biçimde göstermek için “strftime” özelliğiyle tarih / saat verinizi biçimlendirebilirsiniz. Gerekli gösterim parametreleri aşağıdaki tabloda.

import datetime
x = datetime.datetime.now()
print(x.strftime("%Y-%m-%d %H:%M:%S"))
%aHaftanın Günü Kısa gösterimWed
%AHaftanın Günü Uzun gösterimWednesday
%wHaftnın kaçıncı günü olduğu (0-6 arasında, 0 Pazar)3
%dAyın kaçıncı günü olduğu (01-31 arasında)31
%bAyın adı Kısa gösterimDec
%BAyın adı Uzun gösterimDecember
%mAyın sayısal gösterimi 01-1212
%yYılın son iki hanesi18
%YYılın uzun gösterimi2018
%HSaat 00-23 arası17
%ISaat 00-12 arası5
%pAM/PM BilgisiPM
%MDakika 00-59 arası41
%SSaniye 00-59 arası8
%fMilisaniye 000000-999999 arası548513
%zUTC offset100
%ZTimezoneCST
%jYılın kaçıncı günü olduğu 001-366 arası365
%UHaftanın ilk gününü pazar kabul ederek yılın kaçıncı haftası olduğu 00-53 arası52
%WHaftanın ilk gününü pazartesi kabul ederek yılın kaçıncı haftası olduğu 00-53 arası52
%cYerel gösterimle tarih ve saat bilgisiMon Dec 31 17:41:00 2018
%CYüzyıl gösterimi20
%xYerel gösterimle sayısal tarih bilgisi 12/31/2018
%XYerel gösterimle saat bilgisi17:41:00
%%“%” İşareti%
%GISO 8601 formatında yıl2018
%uISO 8601 formatında haftanın günü (1-7)1
%VISO 8601 formatında hafta sayısı (01-53)1