Python TarihSaat, SaatDelta, Strftime(Format) Örneklerle
⚡ Akıllı Özet
Python `datetime` modülü, `date`, `time` ve `timedelta` sınıflarıyla birlikte tarihleri, saatleri ve aralıkları nesne olarak ele alır. `datetime` modülü, çıktıyı `strftime()` ile biçimlendirir, dizeleri ayrıştırır ve `timedelta` aritmetiğini kullanarak gelecekteki veya geçmişteki anları hesaplar.

In Python, tarih, saat ve tarihsaat Sınıflar, tarihler, saatler ve zaman aralıklarıyla ilgili çeşitli işlevler sunar. Tarih ve saat kavramları da bu işlevler arasındadır. Python Bunlar nesnelerdir, bu nedenle onları manipüle ettiğinizde aslında dizeleri veya zaman damgalarını değil, nesneleri manipüle edersiniz. Tarih veya zamanı manipüle ettiğiniz her durumda, datetime modülünü içe aktarmanız gerekir.
Datetime sınıfları Python 5 ana sınıfa ayrılırlar.
- tarih – Sadece tarihi değiştir (Ay, gün, yıl)
- time – Günden bağımsız zaman (Saat, dakika, saniye, mikrosaniye)
- datetime – Saat ve tarihin birleşimi (Ay, gün, yıl, saat, saniye, mikrosaniye)
- timedelta— Tarihleri düzenlemek için kullanılan bir zaman aralığı
- tzinfo— Bir abstracZaman dilimleriyle başa çıkmak için t sınıfı
Date & DateTime Sınıfı Nasıl Kullanılır?
1. Adım) Tarihsaat biçimi kodunu çalıştırmadan önce Python, içe aktarmanız önemlidir Python aşağıdaki ekran görüntüsünde gösterildiği gibi tarih saat modülleri.
Bu içe aktarma ifadeleri, önceden tanımlanmış işlevsellik parçalarıdır. Python Kod yazmadan tarih ve saatleri düzenlemenizi sağlayan bir kütüphane.
Uygulamaya başlamadan önce aşağıdaki noktaları göz önünde bulundurun: Python tarihsaat biçimi kodu
from datetime import date
Bu satır şunu söyler Python tarih sınıfını datetime modülünden içe aktarmak için tercüman PythonBu tarih işlevine ait kodu biz yazmıyoruz, sadece kendi kullanımımız için içe aktarıyoruz.
Date.today() işlevini kullanarak Tarihi Yazdır
`date.today()` fonksiyonunun çeşitli özellikleri vardır. Bu fonksiyonla gün/ay/yıl ve daha birçok bilgiyi yazdırabiliriz.
Bir örnek görelim
Bugünün Hafta İçi Sayısı
`date.today()` fonksiyonu size haftanın hangi günü olduğunu da verir. İşte haftanın hangi günüyle başlayan Haftanın Günleri Tablosu: Monday Pazar günü 0, Pazar günü ise 6 olarak.
| Gün | HaftanınGün Sayısı |
|---|---|
| Monday | 0 |
| Salı | 1 |
| Çarşamba | 2 |
| Perşembe | 3 |
| Cuma | 4 |
| Cumartesi | 5 |
| Pazar | 6 |
Hafta İçi Sayısı, dizini haftanın gününe bağlı olan diziler için kullanışlıdır.
2. Adım) Daha sonra tarih nesnesinin bir örneğini oluşturuyoruz.
3. Adım) Daha sonra tarihi yazdırıp kodu çalıştırıyoruz.
Sonuç beklendiği gibi.
Python Geçerli Tarih ve Saat: şimdi() bugün()
) 1 Adım Tarih Nesneleri gibi şunu da kullanabiliriz: “TARİH SAAT NESNELERİ” in Python. Python tarih ve saat nesneleri, saatin yanı sıra tarihi de verir saat, dakika, saniye ve milisaniye.
Datetime kodunu çalıştırdığımızda güncel tarih ve saati içeren çıktıyı verir.
) 2 Adım “DATETIME OBJECT” ile zaman sınıfını da çağırabilirsiniz. Örneğin, tarihi göstermeden sadece geçerli saati yazdırmak istediğimizi varsayalım.
t = datetime.time(datetime.now())
- Zaman sınıfını içe aktarmıştık. Datetime.now() işlevini kullanarak ona zamanın geçerli değerini atayacağız.
- Şimdiki zamanın değerini t değişkenine atadık.
Ve bu bana tam zamanı verecek. O halde bu programı çalıştıralım.
Tamam, burada tarih ve saati görebiliyorsunuz. Sonraki satırda ise sadece saati görüyorum.
) 3 Adım Bugünün hangi gün olduğunu öğrenmek için hafta içi indeksleyicimizi hafta içi günlerinin dizi listesine uygulayacağız.
- Hafta içi günleri operatörü (wd), mevcut hafta içi gününe bağlı olarak (0-6) arasında bir sayı alır. Burada günlerin listesini (Paz, Sal, Çar…Paz) içeren bir dizi tanımladık.
- Hangi gün olduğunu öğrenmek için bu indeks değerini kullanın. Bizim durumumuzda bu #2'dir ve Çarşamba'yı temsil eder, dolayısıyla çıktıda "Çarşamba olan" yazacaktır.
Şimdi datetime kullanarak geçerli tarih ve saati almak için kodun tamamı burada
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print (today) # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd=date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print("Today is day number %d" % wd) print("which is a " + days[wd]) if __name__== "__main__": main()
Strftime() ile Tarih ve Saat Çıkışını Formatlama
Şimdiye kadar datetime ve date kavramlarını nasıl kullanacağımızı öğrendik. nesne Python. Bir adım daha ileri giderek Saat ve Tarihi biçimlendirmek için biçimlendirme işlevinin nasıl kullanılacağını öğreneceğiz.
) 1 Adım Öncelikle yılın nasıl formatlanacağına dair basit bir adım göreceğiz. Bir örnekle anlamak daha iyidir.
- Kullandık “strftime fonksiyonu” biçimlendirme için.
- Bu işlev farklı kullanır kontrol kodu bir çıktı vermek için.
- Her bir kontrol kodu, yıl, ay, hafta içi ve tarih gibi farklı parametrelere karşılık gelir. [(%y/%Y – Yıl), (%a/%A- hafta içi), (%b/%B- ay), (%d – ayın günü)] .
- Bizim durumumuzda bu (“%Y”) yıla benzeyen, tam yılı yüzyılla birlikte yazdırır (örneğin, 2018).
) 2 Adım Şimdi ("%Y") küçük harfle ( "%y) değiştirirseniz ve kodu çalıştırırsanız, çıktı yalnızca (18)'i görüntüleyecektir, (2018)'i görüntülemeyecektir. Yılın yüzyılı aşağıdaki ekran görüntüsünde gösterildiği gibi görüntülenmeyecek
) 3 Adım `Strf` fonksiyonu, tarihi, günü, ayı ve yılı ayrı ayrı tanımlayabilir. Ayrıca, `strftime` fonksiyonundaki kontrol kodunda küçük değişiklikler yaparak metnin stilini de biçimlendirebilirsiniz.
`strftime` fonksiyonunun içinde (%a) yerine büyük A, yani (%A) yazarsanız, çıktı sadece "Fri" kısaltması yerine "Friday" olarak yazdırılacaktır.
) 4 Adım “Strftime” fonksiyonu yardımıyla yerel sistem saatini, tarihini veya her ikisini de alabiliriz.
- %C- yerel tarih ve saati gösterir
- %x- yerel tarihi gösterir
- %X- yerel saati gösterir
Çıktıda sonucu beklendiği gibi görebilirsiniz.
) 5 Adım “Strftime işlevi”, saati 24 saat veya 12 saat olarak herhangi bir formatta aramanıza olanak tanır.
Sadece saat için %I/H, dakika için % M, saniye için %S gibi kontrol kodunu tanımlayarak, farklı formatlar için zaman çağrılabilir.
En fazla 12 saat içerisinde size döneceğiz. zaman bildirildi [print now.strftime(“%I:%M:%S %p) ]
En fazla 24 saat içerisinde size döneceğiz. zaman bildirildi [print now.strftime(“%H:%M”)]
Datetime'ı String nesnesine dönüştürmek için gereken kodun tamamı buradadır.
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print(now.strftime("%c")) print(now.strftime("%x")) print(now.strftime("%X")) ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print(now.strftime("%I:%M:%S %p")) # 12-Hour:Minute:Second:AM print(now.strftime("%H:%M")) # 24-Hour:Minute if __name__== "__main__": main()
Timedelta nedir? Python?
Zaman deltası Python `timedelta` nesnesi, süreyi temsil eden bir nesnedir. Esas olarak iki tarih ve saat arasındaki süreyi hesaplamak için kullanılır. Ayrıca, belirli bir tarih ve saat farkıyla nesneyi almak için de kullanılır. `timedelta` nesnesi, toplama, çıkarma gibi matematiksel işlemleri destekler.tracçarpma, bölme vb.
Timedelta Nesneleri nasıl kullanılır
İle Python timedelta nesneleri ile hem gelecek hem de geçmiş için zamanı tahmin edebilirsiniz. Başka bir deyişle herhangi bir özel günü, tarihi veya saati tahmin etmek için kullanılan bir zaman aralığıdır.
Bu işlevin saati veya tarihi yazdırmak için olmadığını, gelecek veya geçmiş hakkında HESAPLANACAK bir şey olduğunu unutmayın.Bir bakalım. Python Daha iyi anlamak için timedelta örneğine bakalım.
) 1 Adım Timedelta Nesnelerini çalıştırmak için önce import ifadesini bildirmeniz ve ardından kodu yürütmeniz gerekir
- timedelta için içe aktarma ifadesi yazın
- Şimdi ekran görüntüsünde gösterildiği gibi zaman deltasından nesneyi yazdırmak için kodu yazın
- Kodu çalıştırın. Timedelta 365 gün, 8 saat ve 15 dakikalık bir süreyi temsil eder ve aynı sonucu yazdırır
Kafa karıştırıcı? Bir sonraki adım yardımcı olacaktır-
) 2 Adım İthalat bildirimimizin iyi çalışıp çalışmadığını kontrol etmek için bugünün tarih ve saatini alalım. Kod çalıştırıldığında bugünün tarihini yazdırır, bu da ithalat bildirimimizin iyi çalıştığı anlamına gelir
) 3 Adım Delta nesneleri aracılığıyla bir yıl sonrasının tarihini nasıl alabileceğimizi göreceğiz. Kodu çalıştırdığımızda, beklendiği gibi çıktı verir.
) 4 Adım Zaman deltasının, geçerli tarih ve saatten gelecekteki tarihi hesaplamak için nasıl kullanılabileceğine dair başka bir örnek
) 5 Adım Daha karmaşık bir örneğe bakalım. Yeni Yıl'dan kaç gün geçtiğini belirlemek istiyorum. İşte nasıl ilerleyeceğimizi
- Today= date.today() kullanarak bugünün tarihini alırız
- Yeni yılın her zaman 1 Ocak'ta olduğunu biliyoruz, ancak yıl farklı olabilir. Nyd= date(today.year,1,1) kullanarak yeni yılı nyd değişkeninde saklıyoruz
- Eğer nyd < today ise: mevcut tarihin yeni yıldan büyük olup olmadığını kontrol eder. Eğer büyükse, while döngüsüne girer.
- ((today-nyd).days), güncel tarih ile yeni yıl arasındaki farkı DAYS cinsinden verir
Çıktı şunu gösteriyor: "Yeni Yıl Günü zaten 11 gün önce geçti."
İşte tam çalışma kodu
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print (timedelta(days=365, hours=8, minutes=15)) # print today's date print ("today is: " + str(datetime.now())) # print today's date one year from now print ("one year from now it will be:" + str(datetime.now() + timedelta(days=365))) # create a timedelta that uses more than one argument # print (in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4))) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print ("New Year day is already went by %d days ago" % ((today - nyd).days))
Python 2 Örnek
Aşağıdaki örnekler, aynı tarih ve saat işlemlerinin nasıl yazıldığını göstermektedir. Python 2. sürümde `print` bir fonksiyon değil, bir ifadedir. Bu sürümleri yalnızca eski sistemleri korurken kullanın. Python 2 kod.
from datetime import date from datetime import time from datetime import datetime def main(): ##DATETIME OBJECTS #Get today's date from datetime class today=datetime.now() #print today # Get the current time #t = datetime.time(datetime.now()) #print "The current time is", t #weekday returns 0 (monday) through 6 (sunday) wd = date.weekday(today) #Days start at 0 for monday days= ["monday","tuesday","wednesday","thursday","friday","saturday","sunday"] print "Today is day number %d" % wd print "which is a " + days[wd] if __name__== "__main__": main()
# #Example file for formatting time and date output # from datetime import datetime def main(): #Times and dates can be formatted using a set of predefined string #Control codes now= datetime.now() #get the current date and time #%c - local date and time, %x-local's date, %X- local's time print now.strftime("%c") print now.strftime("%x") print now.strftime("%X") ##### Time Formatting #### #%I/%H - 12/24 Hour, %M - minute, %S - second, %p - local's AM/PM print now.strftime("%I:%M:%S %p") # 12-Hour:Minute:Second:AM print now.strftime("%H:%M") # 24-Hour:Minute if __name__== "__main__": main()
# # Example file for working with timedelta objects # from datetime import date from datetime import time from datetime import datetime from datetime import timedelta # construct a basic timedelta and print it print timedelta(days=365, hours=8, minutes=15) # print today's date print "today is: " + str(datetime.now()) # print today's date one year from now print "one year from now it will be:" + str(datetime.now() + timedelta(days=365)) # create a timedelta that uses more than one argument # print "in one week and 4 days it will be " + str(datetime.now() + timedelta(weeks=1, days=4)) # How many days until New Year's Day? today = date.today() # get todays date nyd = date(today.year, 1, 1) # get New Year Day for the same year # use date comparison to see if New Year Day has already gone for this year # if it has, use the replace() function to get the date for next year if nyd < today: print "New Year day is already went by %d days ago" % ((today - nyd).days)



















