Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Python'da veri projeleriyle çalışırken büyük ihtimalle tarih/saat işlevlerini kullanırsınız. Çalışacağınız hemen hemen her veri kümesinde, ihtiyaçlarınıza ve proje gereksinimlerinize göre işlemek isteyeceğiniz bir tarih saat sütunu olacaktır.

Neyse ki Python , tarihler, saatler ve ikisinin kombinasyonları gibi tarih saat örneklerini temsil etmenize, değiştirmenize ve bunlarla işlemler gerçekleştirmenize izin veren, tarih saat adlı kendi yerleşik modülüyle birlikte gelir . Python tarih-saat modülünde uzmanlaşmak, projelerinizde daha sağlam zaman serisi analizleri yapmanıza yardımcı olacaktır.

Python datetime modülü, tarihleri, saatleri ve zaman aralıklarını işlemek için kullanılan bir araçtır. Tarih ve saatlerde çeşitli işlemleri basit bir şekilde gerçekleştirmenizi sağlar.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Programlama özeti – yazılım geliştiricisinin ekranında kaynak kodu ve ikili kod. Renkli sözdizimi ile siyah tema.

Python'daki tarih saat modülünü kullanarak tarih ve saat değerleriyle kolayca çalışabilir, saat dilimlerini yönetebilir, hesaplamalar yapabilir ve hatta çeşitli temsiller için biçimlendirme ve ayrıştırma işlemlerini gerçekleştirebilirsiniz. Bu işlevsellik, tarih saat modülünü, veri işlemeden olay planlamasına ve ötesine kadar pek çok uygulamada önemli bir araç haline getirir.

Projelerinizde Python'un tarih/saat modülünü kullanmaya başlamadan önce, temel sınıflarını anlamak çok önemlidir. Aşağıdaki bölümde, Python'un DateTime modülünün beş ana sınıfına bakacağız. Hadi başlayalım!

İçindekiler

Python Datetime Modülünün 5 Ana Sınıfı Nelerdir?

Python Datetime modülü, sınıfların tarihler, saatler, saat dilimleri ve sürelerle işlemesi ve bunlarla çalışması için standart kitaplığın bir parçasıdır.

Modül beş ana sınıftan oluşur:

  1. tarih saat

  2. Tarih,

  3. Zaman,

  4. Zaman deltası

  5. Saat dilimi.

    Konsepti daha iyi anlamanıza yardımcı olmak için her sınıfa ve ardından örnek kullanım durumlarına bakacağız.

Datetime Sınıfı Nasıl Kullanılır?

Python Datetime sınıfı, modülde en sık kullanılan sınıftır. Yıl, ay, gün, saat, dakika, saniye ve mikrosaniye gibi özelliklerle zaman içinde tek bir noktayı temsil eder.

Python Datetime sınıfıyla ilgili bazı yaygın işlemler şunları içerir:

  • tarihsaat.tarihsaat.şimdi()

Bu işlev, geçerli tarih ve saati almanızı sağlar. Aşağıda, geçerli tarih ve saatin alınmasına bir örnek verilmiştir:

import datetime

# Get the current date and time
now = datetime.datetime.now()

print("Current date and time: ", now)

Bu, yürütme anındaki geçerli tarih ve saati YYYY-AA-GG SS:DD:SS.ssssss biçiminde verir.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

  • tarihsaat.tarihsaat

Bu işlev, özel bir tarih ve saat nesnesi oluşturmanıza olanak tanır. Aşağıda, kodunuzda datetime.datetime kullanımına bir örnek verilmiştir:

from datetime import date

# Create a custom date and time object
custom_date = datetime.datetime(2023, 5, 22, 17, 40)

print("Custom date and time: ", custom_date)

Yukarıdaki işlevlere ek olarak Datetime sınıfı, tarih ve saatle çalışmak için aşağıdakiler gibi yöntemler de sağlar:

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

  • strftime() :

Yöntem, tarih ve saat nesnelerini bir dize olarak biçimlendirmenizi sağlar. Aşağıda strftime() yönteminin bir örneği verilmiştir:

import datetime

# Create a custom date and time object
custom_date = datetime.datetime(2023, 5, 22, 17, 40)

# Format the datetime object as a string
formatted_date = custom_date.strftime("%B %d, %Y, %H:%M")

print("Formatted date and time: ", formatted_date)

Bu kod, tarih saat nesnesini bir dizgeye dönüştürür:

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

  • dizizamanı() :

Datetime sınıfındaki bu işlev, tarih ve saat nesnelerini temsil eden bir dizeyi tek bir Datetime nesnesine ayrıştırmanıza olanak tanır. Aşağıda, dize olarak saklanan bir tarihin bir Datetime nesnesine ayrıştırılmasına bir örnek verilmiştir:

import datetime

# String representing a date and time
date_string = "May 22, 2023, 17:40"

# Parse the string into a datetime object
parsed_date = datetime.datetime.strptime(date_string, "%B %d, %Y, %H:%M")

print("Parsed date and time: ", parsed_date)

Bu, dizeyi bir DateTime nesnesine dönüştürür.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Tarih Sınıfı Nasıl Kullanılır?

Date sınıfı, yalnızca tarih nesneleriyle (yıl, ay ve gün) ilgilenmenizi sağlar. Date sınıfı ile tarih nesneleri oluşturabilirsiniz.

Date sınıfıyla yapılan bazı yaygın işlemler şunları içerir:

  • tarihsaat.tarih.bugün()

Date sınıfındaki bu fonksiyon güncel tarihi almanızı sağlar. Aşağıda, tarih sınıfıyla geçerli tarihin alınmasına bir örnek verilmiştir:

import datetime

# Get the current date
today = datetime.date.today()

print("Today's date: ", today)

Bu Python kodu, yürütüldüğü andaki geçerli tarihi YYYY-AA-GG biçiminde verecektir.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Bu makaleyi yazarken, geçerli tarih 2023-05-22 idi.

  • tarihsaat.tarih()

Tarih sınıfındaki bu işlev, tarih nesneleri oluşturmanıza olanak tanır. Örnek, datetime.date() işleviyle özel bir tarih nesnesi oluşturmayı gösterir:

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

print("Custom date: ", custom_date)

datetime.date() işlevinde, bağımsız değişken olarak yıl, ay ve günü sağlarsınız.

22 Mayıs 2023 tarihi için özel bir tarih nesnesi oluşturduğunuz için bu betik 2023-05-22 çıktısını verecektir.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Date sınıfı ayrıca aşağıdakiler gibi yararlı yöntemler sağlar:

  • Hafta içi()

Tarih sınıfındaki bu yöntem haftanın gününü döndürür (Pazartesi için 0, Salı için 1 vb.). Aşağıdaki örnek,weekday() yöntemini gösterir:

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Get the day of the week
day_of_week = custom_date.weekday()

print("Day of the week: ", day_of_week)

22 Mayıs 2023 Pazartesi gününe denk geldiği için bu örnekte custom_date.weekday() 0 değerini döndürür.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

  • strftime()

Date sınıfındaki bu yöntem, tarih nesnesini bir dizge olarak biçimlendirmenizi sağlar . Aşağıdaki örnek, strftime() işlevini göstermektedir:

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Format the date object as a string
formatted_date = custom_date.strftime("%B %d, %Y")

print("Formatted date: ", formatted_date)

Bu, "Ay gün, Yıl" olarak biçimlendirilmiş tarihin çıktısını verecektir.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

  • strptime()

Bu yöntem, bir tarihi temsil eden bir dizeyi bir Date nesnesine ayrıştırmanıza olanak tanır. Aşağıda, bir dize tarihini Date nesnesine dönüştürmenin bir örneği verilmiştir:

import datetime

# String representing a date
date_string = "May 22, 2023"

# Parse the string into a date object
parsed_date = datetime.datetime.strptime(date_string, "%B %d, %Y").date()

print("Parsed date: ", parsed_date)

Bu, tarih dizesinden oluşturulan tarih nesnesinin çıktısını verecektir.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Zaman Sınıfı Nasıl Kullanılır?

The Time class allows you to work with time instances (hour, minute, second, microsecond). With the time class, you can create a custom time object with datetime.time().

The following example demonstrates creating a custom time object:

import datetime

# Create a custom time object
custom_time = datetime.time(17, 40)

print("Custom time: ", custom_time)

In the datetime.time() function, you provide the hour and minute as arguments.

This script will output 17:40:00, as specified in the Python code.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

The Time class provides useful methods, such as:

  • strftime()

This method allows you to format the time object as a string. Below is an example of this function:

import datetime

# Create a custom time object
custom_time = datetime.time(17, 40)

# Format the time object as a string
formatted_time = custom_time.strftime("%H:%M")

print("Formatted time: ", formatted_time)

This will output the local time formatted as “Hour:Minute”.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

  • strptime()

This function allows you to parse a string representing time into a Time object. The following example demonstrates this function:

from datetime import time

# String representing a time
time_string = "17:40"

# Parse the string into a time object
parsed_time = datetime.datetime.strptime(time_string, "%H:%M").time()

print("Parsed time: ", parsed_time)

This will output the time objects created from the time string.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

How to Use The Timedelta Class

The Timedelta class allows you to represent represents a duration or difference between two dates or times.

With Timedelta class, you can perform the following operations:

  • Calculate the difference between two dates or times

An example of calculating the difference between two dates is given below:

 import datetime

# Create two custom date objects
date1 = datetime.date(2023, 5, 22)
date2 = datetime.date(2023, 6, 1)

# Calculate the difference between the two dates
date_difference = date2 - date1

print("Difference between the dates is: ", date_difference.days, "days")

In this example, date_difference is a timedelta object representing the difference between date2 and date1. The .days property gives the number of days between the two dates.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

  • Add or subtract a duration to a date or time

An example of adding a duration to a date is given below:

import datetime

# Create a custom date object
custom_date = datetime.date(2023, 5, 22)

# Create a duration of 10 days
duration = datetime.timedelta(days=10)

# Add the duration to the date
new_date = custom_date + duration

print("New date: ", new_date)

In this example, duration is a timedelta object representing a duration of 10 days. We use the + operator to add this duration to custom_date.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

How to Use the Timezone Class

The Timezone class allows you to handle time zones and daylight saving time adjustments.

You can perform the following operation with timezone class:

  • Create a timezone object

To create a timezone object, you can use the datetime.timezone() function. The following example demonstrates creating a timezone object:

import datetime

# Create a timezone object for a timezone 2 hours ahead of UTC
two_hours_ahead = datetime.timezone(datetime.timedelta(hours=2))

print("Timezone object: ", two_hours_ahead)

In this example, two_hours_ahead is a timezone object representing a timezone that is 2 hours ahead of Coordinated Universal Time (UTC).

This script will output a timezone object like .

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

  • Object with a specific timezone

To achieve this, you can use the .replace(tzinfo=tz) function. The following example demonstrates this function:

import datetime

# Create a naive datetime object
naive_datetime = datetime.datetime(2023, 5, 22, 17, 40)

# Create a timezone object for a timezone 2 hours ahead of UTC
two_hours_ahead = datetime.timezone(datetime.timedelta(hours=2))

# Convert the naive datetime object to an aware object
aware_datetime = naive_datetime.replace(tzinfo=two_hours_ahead)

print("Aware datetime object: ", aware_datetime)

In this example, naive_datetime is a datetime object that does not have any timezone information. The two_hours_ahead variable is a timezone object representing a timezone that is 2 hours ahead of UTC.

The replace(tzinfo=two_hours_ahead) method is used to create a new datetime object with the same date and time as naive_datetime, but with tzinfo set to two_hours_ahead.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

The Timezone helps you maintain accurate and consistent time values when working with data that spans multiple time zones.

You have gone through some of the most important functions in the datetime module in Python. In the next section we will implement some of the above functions to a case studywhich will give you a practical look into the implementation of these datetime module in your projects.

Implementing the DateTime Module Functions to a Case Study

Let’s consider a case study where we are given a dataset of different events that happened around the world. The dataset has corresponding dates and times in a string format.

Görevimiz, bu tarih ve saatleri DateTime nesnelerine dönüştürmek ve gerektiğinde üzerlerinde işlemler yapmaktır.

Aşağıdaki veri setinin verildiğini varsayalım:

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Değişkenin veri tiplerini kontrol edersek, tarih ve saatin bir dizi olarak saklandığını görürüz. Bu nedenle, herhangi bir analiz yapmadan önce tarih ve saat sütunlarını uygun bir formata dönüştürmemiz gerekir.

Bunu yapmak için aşağıdaki kodu kullanabiliriz:

import datetime

# Convert 'Date' and 'Time' strings into datetime objects
df['DateTime'] = df['Date'] + ' ' + df['Time']
df['DateTime'] = df['DateTime'].apply(lambda x: datetime.datetime.strptime(x, "%b %d, %Y %H:%M"))

print(df)

Bu kod bloğunda, önce 'Date' ve 'Time' sütunlarını birleştirerek DataFrame'inizde yeni bir 'DateTime' sütunu oluşturuyoruz. Ardından, tarih ve saat dizelerini tarih saat nesnelerine dönüştürmek için bu yeni sütundaki her değere datetime.strptime işlevini uygularız. Son olarak, sonucu görmek için DataFrame'i yazdırıyoruz.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Yapmak istediğimiz bir sonraki şey, iki olay arasındaki farkı hesaplamak. Bunu yapmak için aşağıdaki kodu kullanabiliriz:

duration = df.loc[1, 'DateTime'] - df.loc[0, 'DateTime']
print("Duration between Event1 and Event2: ", duration)

Bu Python betiği, 'Event1' ve 'Event2' arasındaki süreyi hesaplayacaktır.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Son olarak, datetime nesnelerini farklı bir saat dilimine dönüştürelim. Datetime modülündeki Timezone işlevlerini kullanarak bunu ne zaman başarabilirsiniz.

# Create a timezone object for UTC
utc_tz = datetime.timezone(datetime.timedelta(0))

# Convert the datetime objects into UTC
df['DateTime_UTC'] = df['DateTime'].apply(lambda x: x.replace(tzinfo=utc_tz))

print(df)

Bu kodda UTC için bir timezone nesnesi oluşturuyoruz. Ardından, 'DateTime' sütunumuza bir lambda işlevi uygulayarak DataFrame'imizde 'DateTime_UTC' adlı yeni bir sütun oluşturuyoruz. Bu, her tarih saat nesnesinin saat dilimi bilgisini UTC ile değiştirecektir.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Yukarıdaki örnek olay incelemesi aracılığıyla, DateTime modülü tarafından sağlanan çeşitli işlevlerin, tarihleri ​​ve saatleri uygun bir biçimde değiştirmek için birlikte nasıl çalıştığını görüyorsunuz.

Artık tarih saat modülündeki bazı işlevlere aşina olduğunuza göre, daha karmaşık projeler üstlenirken kullanmak isteyeceğiniz birkaç ek işleve bakalım.

Yukarıda listelenen işlevlerin yanı sıra, eldeki soruna bağlı olarak kullanabileceğiniz daha birçok yararlı işlev vardır. Python geliştiricileri , ihtiyaçlarınızı karşılayabilecek işlevleri aramak için genellikle bir dokümantasyon sayfasını açık tutar. Ve aynısını yapmanızı öneririz!

Ek Tarih ve Saat İşlevleri

Bu bölümde, Python tarih saat modülündeki ek işlevleri tartışacağız . Bu, ctime() işleviyle birlikte hafta içi günlerin, ayların ve hafta içi gün adlarının alınmasını içerir .

Bir Tarihten Hafta İçi Günleri Nasıl Alınır?

Datetime modülü , haftanın gününü bir tamsayı olarak döndüren (Pazartesi 0 ve Pazar 6'dır) bir Weekday() işleviyle gelir .

Bu işlevi kullanmak için, onu bir tarih veya tarih saat nesnesinde arayabilirsiniz.

import datetime

today = datetime.date.today()
weekday_number = today.weekday()

print(weekday_number)

Yukarıdaki kodun çıktısı aşağıdaki görselde verilmiştir:

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Geçerli yerel tarih 23.05.2023 ve hafta içi gün Pazartesi'dir.

Bir Tarihten Ay ve Haftanın Adlarını Alma

datetime ayrıca ayın adını ve haftanın gününü almanızı sağlar.

Bir tarih veya tarih saat nesnesini bir dizge olarak biçimlendiren strftime() işlevini kullanabilirsiniz .

Aşağıda, ayın adını ve haftanın gününü almak için strftime() işlevinin nasıl kullanılacağına ilişkin bir örnek verilmiştir:

import datetime

today = datetime.date.today()
weekday_name = today.strftime('%A')
month_name = today.strftime('%B')

print(weekday_name)
print(month_name)

Bu kod çıktıda haftanın günü adını ve ay adını yazdıracaktır .

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Ctime İşlevi Nasıl Kullanılır?

Datetime modülündeki ctime () işlevi, "Day Pzt DD SS:MM:SS YYYY" şeklinde biçimlendirilmiş bir tarih veya tarihsaat nesnesinin dize gösterimini döndürür.

ctime, tek başına bir işlev değil, bir tarih saat nesnesi için bir yöntemdir .

Aşağıda, kodunuzda ctime işlevini kullanmanın bir örneği verilmiştir:

import datetime

now = datetime.datetime.now()
formatted_date = now.ctime()

print(formatted_date)

Yukarıdaki kod, tarih nesnesinin dize gösterimini döndürür.

Python Datetime: Örneklerle Kapsamlı Bir Kılavuz

Zaman serisi verileriyle çalışma hakkında daha fazla bilgi edinmek için aşağıdaki videoya göz atın:

Son düşünceler

Bir Python programcısı olarak, tarih saat modülüne hakim olmak önemlidir. Tarihler, saatler ve zaman aralıklarıyla ilgilenmenizi sağlayan bir araç takımıdır. Bunlar, gerçek dünya verilerinde sıklıkla karşılaşacağınız öğelerdir.

Dizeleri tarih-saat nesnelerine dönüştürmek, saat dilimi dönüştürmelerini işlemek ve tarih ve saatlerde işlemler gerçekleştirmek için bu modüle ihtiyacınız olacak.

Datetime modülünü nasıl kullanacağınızı öğrenerek, bu görevleri kendi projelerinizde halletmeye daha iyi hazırlanacaksınız!


Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Python'da Self Nedir: Gerçek Dünyadan Örnekler

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.

LuckyTemplatesda İçeriği Filtrelemeye Giriş

LuckyTemplatesda İçeriği Filtrelemeye Giriş

Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.

LuckyTemplates Kullanarak İş Raporlaması

LuckyTemplates Kullanarak İş Raporlaması

Şimdiye kadar hala Excel kullanıyorsanız, iş raporlama ihtiyaçlarınız için LuckyTemplates'ı kullanmaya başlamak için en iyi zaman budur.

LuckyTemplates Ağ Geçidi Nedir? Bilmen gereken her şey

LuckyTemplates Ağ Geçidi Nedir? Bilmen gereken her şey

LuckyTemplates Ağ Geçidi Nedir? Bilmen gereken her şey