Python TarihSaat, SaatDelta, Strftime(Format) Örneklerle

In Python, tarih, saat ve tarihsaat sınıflar tarihler, saatler ve zaman aralıklarıyla başa çıkmak için bir dizi işlev sağlar. Tarih ve tarihsaat Python yani onları değiştirdiğinizde aslında dizeleri veya zaman damgalarını değil, nesneleri değiştiriyorsunuz. Tarihleri ​​veya saati değiştirdiğinizde, tarihsaat işlevini içe aktarmanız gerekir.

Datetime sınıfları Python 5 ana sınıfa ayrılmıştır.

  • 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 — Zaman dilimleriyle ilgilenmek için soyut bir 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.

Date & DateTime Sınıfını Kullan

Bu içe aktarma ifadeleri, önceden tanımlanmış işlevsellik parçalarıdır. Python Herhangi bir kod yazmadan tarihleri ​​ve saatleri değiştirmenizi sağlayan 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 Python. Bu tarih işlevinin kodunu yazmıyoruz, ne yazık ki sadece kendi kullanımımız için içe aktarıyoruz

2. Adım) Daha sonra tarih nesnesinin bir örneğini oluşturuyoruz.

Date & DateTime Sınıfını Kullan

3. Adım) Daha sonra tarihi yazdırıp kodu çalıştırıyoruz.

Date & DateTime Sınıfını Kullan

Çıktı beklendiği gibi.

Date.today() işlevini kullanarak Tarihi Yazdır

date.today fonksiyonun kendisiyle ilişkili çeşitli özellikleri vardır. Bireysel gün/ay/yıl ve diğer birçok şeyi yazdırabiliriz

Bir örnek görelim

Date.today() işlevini kullanarak Tarihi Yazdır

Bugünün Hafta İçi Sayısı

Date.today() işlevi ayrıca haftanın günü numarasını da verir. İşte ile başlayan Hafta İçi Tablosu Monday 0 ve Pazar 6 gibi

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.

Date.today() işlevini kullanarak Tarihi Yazdır

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.

Python Güncel Tarih ve Saat

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.

Tarih olmadan yalnızca 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.

Python Güncel Tarih ve Saat

Tamam, burada tarih ve saati aldığımı görebilirsiniz. Ve sonraki satırda, sadece zamanım var

) 3 Adım Bugünün hangi gün olduğunu öğrenmek için hafta içi indeksleyicimizi hafta içi dizi listemize uygulayacağız.

  • Hafta içi operatörüne (wd), mevcut hafta içi günün ne olduğuna bağlı olarak (0-6) arasında bir numara atanır. Burada günlerin listesinin dizisini açıkladık (Pzt, Salı, Çarşamba…Paz).
  • 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.

Python Güncel Tarih ve Saat

Ş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

Şu an itibariyle datetime ve date'in nasıl kullanılacağını öğ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.

Tarih ve Saat Çıkışını Strftime() ile Biçimlendir

  • " ifadesini kullandık.strftime işlevi” biçimlendirme için.
  • Bu işlev farklı kullanır kontrol kodu bir çıktı vermek için.
  • Her kontrol kodu yıl, ay, haftanın günü ve tarih gibi farklı parametrelere benzer [(%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

Tarih ve Saat Çıkışını Strftime() ile Biçimlendir

) 3 Adım Strf fonksiyonu tarih, gün, ay ve yılı ayrı ayrı bildirebilir. Ayrıca strftime fonksiyonundaki kontrol kodundaki küçük değişikliklerle metnin stilini biçimlendirebilirsiniz.

Tarih ve Saat Çıkışını Strftime() ile Biçimlendir

strftime fonksiyonu içinde, eğer (%a)'yı büyük A ile değiştirirseniz, yani (%A), çıktı sadece "Cum" kısaltması yerine "Firday" olarak yazdırılacaktır.

Tarih ve Saat Çıkışını Strftime() ile Biçimlendir

) 4 Adım “Strftime” fonksiyonu yardımıyla yerel sistem saatini, tarihini veya her ikisini de alabiliriz.

  1. %C- yerel tarih ve saati gösterir
  2. %x- yerel tarihi gösterir
  3. %X- yerel saati gösterir

Tarih ve Saat Çıkışını Strftime() ile Biçimlendir

Çı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.

Tarih ve Saat Çıkışını Strftime() ile Biçimlendir

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.

12 saat zaman bildirildi [print now.strftime(“%I:%M:%S %p) ]

24 saat 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 süreyi temsil eden bir nesnedir. Genellikle iki tarih ve saat arasındaki süreyi hesaplamak için kullanılır. Ayrıca nesneyi bazı delta tarih ve saatleriyle almak için de kullanılır. timedelta nesnesi toplama, çıkarma, çarpma, bölme vb. gibi matematiksel işlemleri destekler.

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.. hadi görelim 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

Zaman deltası nesneleri

  1. timedelta için içe aktarma ifadesi yazın
  2. Şimdi ekran görüntüsünde gösterildiği gibi zaman deltasından nesneyi yazdırmak için kodu yazın
  3. 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

Zaman deltası nesneleri

) 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.

Zaman deltası nesneleri

) 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

Zaman deltası nesneleri

) 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
  • nyd < bugün ise: geçerli tarihin yeni yıldan büyük olup olmadığını karşılaştırır. 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

Zaman deltası nesneleri

Çı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

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)

ÖZET

Tarih ve saatleri hem basit hem de karmaşık şekillerde düzenlemek için datetime modülü farklı sınıflar veya kategoriler sağlar:

  • 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 — Zaman dilimleriyle uğraşmak için soyut bir sınıf

Datetime nesnelerini kullanma

  • Kodu çalıştırmadan önce datetime nesnelerinin içe aktarılması zorunludur
  • Tarih/ay/yılı ayrı ayrı yazdırmak ve günü indekslemek için date.today fonksiyonunun kullanılması
  • Saat, dakika, saniye ve milisaniye cinsinden zamanı almak için date.time nesnesini kullanma

Zaman Aşımını “str f time function” ile biçimlendirmek

  • Yılın formatını değiştirmek için “str f time function”u kullanın
  • Gün, tarih, ay ve yılı ayrı ayrı yazdırabilir,
  • Herhangi bir format için çağrı süresi 12 saat veya 24 saat

Zaman deltası nesneleri

  • Timedelta nesneleriyle hem gelecek hem de geçmiş için zamanı tahmin edebilirsiniz
  • Özel güne (doğum gününe) kalan toplam günleri mevcut saatten hesaplayın
  • Geçerli saatten özel gün (doğum günü) için geçen toplam günleri hesaplayın