Python Datetime: Kattava opas esimerkkeineen

Kun työskentelet tietoprojektien kanssa Pythonissa, käytät todennäköisimmin datetime-funktioita. Melkein jokaisessa käsittelemässäsi tietojoukossa on päivämäärä-aika-sarake, jota haluat muokata tarpeidesi ja projektivaatimustesi mukaan.

Onneksi Pythonissa on oma sisäänrakennettu moduuli nimeltä datetime , jonka avulla voit edustaa, käsitellä ja suorittaa toimintoja päivämäärä-ajan esiintymillä, kuten päivämäärät, kellonajat ja näiden kahden yhdistelmät. Python datetime -moduulin hallitseminen auttaa sinua tekemään projekteissasi tehokkaampia aikasarjaanalyysejä.

Python datetime -moduuli on työkalu päivämäärien, kellonaikojen ja aikavälejen käsittelyyn. Sen avulla voit suorittaa erilaisia ​​toimintoja päivämäärinä ja kellonaikoina yksinkertaisella tavalla.

Python Datetime: Kattava opas esimerkkeineen

Ohjelmoinnin tiivistelmä – lähdekoodi ja binäärikoodi ohjelmistokehittäjän näytöllä. Musta teema värillisellä syntaksilla.

Käyttämällä datetime-moduulia kohteessa , voit helposti käsitellä päivämäärä- ja aikaarvoja, hallita aikavyöhykkeitä, suorittaa laskutoimituksia ja jopa käsitellä muotoilua ja jäsentämistä eri esitysmuodoissa. Tämä toiminto tekee datetime-moduulista välttämättömän työkalun monissa sovelluksissa tietojenkäsittelystä tapahtuman ajoitukseen ja muuhunkin.

Ennen kuin aloitat Pythonin datetime-moduulin käytön projekteissasi, on tärkeää ymmärtää sen taustalla olevat luokat. Alla olevassa osiossa tarkastellaan Pythonin DateTime-moduulin viittä pääluokkaa. Mennään asiaan!

Sisällysluettelo

Mitkä ovat Python Datetime -moduulin 5 pääluokkaa?

Python Datetime -moduuli on osa vakiokirjastoa, joka tarjoaa luokkia, joita voidaan muokata ja käsitellä päivämäärien, aikojen, aikavyöhykkeiden ja kestojen kanssa.

Moduuli koostuu viidestä pääluokasta:

  1. Treffiaika

  2. Päivämäärä,

  3. Aika,

  4. Timedelta

  5. Aikavyöhyke.

    Tarkastelemme jokaista luokkaa ja sen jälkeen esimerkkejä käyttötapauksista auttaaksemme sinua ymmärtämään konseptia paremmin.

Datetime- luokan käyttäminen

Python Datetime -luokka on moduulin yleisimmin käytetty luokka. Se edustaa yhtä ajankohtaa määritteillä, kuten vuosi, kuukausi, päivä, tunti, minuutti, sekunti ja mikrosekunti.

Python Datetime -luokan yleisiä toimintoja ovat:

  • päivämääräaika.päivämääräaika.nyt()

Tämän toiminnon avulla voit saada nykyisen päivämäärän ja kellonajan. Seuraavassa on esimerkki nykyisen päivämäärän ja kellonajan hakemisesta:

import datetime

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

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

Tämä tulostaa suoritushetkellä nykyisen päivämäärän ja kellonajan muodossa VVVV-KK-PP HH:MM:SS.ssssss.

Python Datetime: Kattava opas esimerkkeineen

  • datetime.datetime

Tämän toiminnon avulla voit luoda mukautetun päivämäärä- ja aikaobjektin. Seuraavassa on esimerkki datetime.datetime käyttämisestä koodissasi:

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)

Yllä olevien toimintojen lisäksi Datetime-luokka tarjoaa myös menetelmiä päivämäärän ja kellonajan käsittelyyn, kuten:

Python Datetime: Kattava opas esimerkkeineen

  • strftime() :

Menetelmän avulla voit muotoilla päivämäärä- ja aikaobjektit merkkijonoksi. Seuraavassa on esimerkki strftime()-menetelmästä:

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)

Tämä koodi muuntaa datetime-objektin merkkijonoksi:

Python Datetime: Kattava opas esimerkkeineen

  • strptime() :

Tämän datetime-luokan funktion avulla voit jäsentää päivämäärä- ja aikaobjekteja edustavan merkkijonon yhdeksi Datetime-objektiksi. Seuraavassa on esimerkki merkkijonona tallennetun päivämäärän jäsentämisestä Datetime-objektiin:

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)

Tämä muuntaa merkkijonon DateTime-objektiksi.

Python Datetime: Kattava opas esimerkkeineen

Kuinka käyttää päivämääräluokkaa

Päivämäärä-luokassa voit käsitellä yksinomaan päivämääräobjekteja (vuosi, kuukausi ja päivä). Voit luoda päivämääräobjekteja päivämääräluokalla.

Joitakin yleisiä Date-luokan toimintoja ovat:

  • päivämääräaika.päivämäärä.tänään()

Tämän päivämääräluokan funktion avulla voit saada nykyisen päivämäärän. Seuraavassa on esimerkki nykyisen päivämäärän hakemisesta päivämääräluokalla:

import datetime

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

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

Tämä Python-koodi tulostaa nykyisen päivämäärän suoritushetkellä muodossa VVVV-KK-PP.

Python Datetime: Kattava opas esimerkkeineen

Tätä artikkelia kirjoitettaessa nykyinen päivämäärä oli 2023-05-22.

  • datetime.date()

Tämän päivämääräluokan funktion avulla voit luoda päivämääräobjekteja. Esimerkki osoittaa mukautetun päivämääräobjektin luomisen datetime.date()-funktiolla:

import datetime

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

print("Custom date: ", custom_date)

Datetime.date()-funktiossa annat vuoden, kuukauden ja päivän argumentteina.

Tämä komentosarja tulostaa 2023-05-22, koska olet luonut mukautetun päivämääräobjektin päivämäärälle 22.5.2023.

Python Datetime: Kattava opas esimerkkeineen

Päivämäärä-luokka tarjoaa myös hyödyllisiä menetelmiä, kuten:

  • arkipäivä()

Tämä menetelmä päivämääräluokassa palauttaa viikonpäivän (0 maanantaille, 1 tiistaille jne.). Seuraava esimerkki esittää viikonpäivä()-menetelmän:

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)

Tässä esimerkissä custom_date.weekday() palauttaa arvon 0, koska 22. toukokuuta 2023 osuu maanantaille.

Python Datetime: Kattava opas esimerkkeineen

  • strftime()

Tämän päivämääräluokan menetelmän avulla voit muotoilla päivämääräobjektin merkkijonona . Seuraava esimerkki osoittaa strftime()-funktion:

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)

Tämä tulostaa päivämäärän muotoon "Kuukausi päivä, vuosi".

Python Datetime: Kattava opas esimerkkeineen

  • strptime()

Tämän menetelmän avulla voit jäsentää päivämäärää edustavan merkkijonon Date-objektiksi. Seuraavassa on esimerkki merkkijonon päivämäärän muuntamisesta päivämääräobjektiksi:

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)

Tämä tulostaa päivämäärämerkkijonosta luodun päivämääräobjektin.

Python Datetime: Kattava opas esimerkkeineen

Kuinka käyttää aikaluokkaa

Aika-luokan avulla voit työskennellä aikainstanssien kanssa (tunti, minuutti, sekunti, mikrosekunti). Aikaluokalla voit luoda mukautetun aikaobjektin komennolla datetime.time().

Seuraava esimerkki osoittaa mukautetun aikaobjektin luomisen:

import datetime

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

print("Custom time: ", custom_time)

Kohdassa datetime.time() annat tunnit ja minuutit argumentteina.

Tämä komentosarja tulostaa 17:40:00 Python-koodin mukaisesti.

Python Datetime: Kattava opas esimerkkeineen

Aika-luokka tarjoaa hyödyllisiä menetelmiä, kuten:

  • strftime()

Tämän menetelmän avulla voit muotoilla aikaobjektin merkkijonoksi. Alla on esimerkki tästä toiminnosta:

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)

Tämä tulostaa paikallisen ajan muotoon Tunti:Minuutti.

Python Datetime: Kattava opas esimerkkeineen

  • strptime()

Tämän toiminnon avulla voit jäsentää aikaa edustavan merkkijonon aikaobjektiksi. Seuraava esimerkki havainnollistaa tätä toimintoa:

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)

Tämä tulostaa aikamerkkijonosta luodut aikaobjektit.

Python Datetime: Kattava opas esimerkkeineen

Kuinka käyttää Timedelta-luokkaa

Timedelta-luokan avulla voit edustaa kestoa tai eroa kahden päivämäärän tai kellonajan välillä.

Timedelta-luokassa voit suorittaa seuraavat toiminnot:

  • Laske kahden päivämäärän tai kellonajan välinen ero

Alla on esimerkki kahden päivämäärän välisen eron laskemisesta:

 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: Kattava opas esimerkkeineen

  • 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: Kattava opas esimerkkeineen

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: Kattava opas esimerkkeineen

  • 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: Kattava opas esimerkkeineen

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

Olet käynyt läpi joitakin kaikkein eniten. Seuraavassa osiossa toteutamme joitain yllä olevista toiminnoista tapaustutkimukseen, joka antaa sinulle käytännön katsauksen näiden datetime-moduulien käyttöönotosta projekteissasi.

DateTime-moduulin funktioiden toteuttaminen tapaustutkimuksessa

Tarkastellaanpa tapaustutkimusta, jossa meille annetaan tietojoukko erilaisista tapahtumista, jotka tapahtuivat ympäri maailmaa. Tietojoukossa on vastaavat päivämäärät ja kellonajat merkkijonomuodossa.

Tehtävämme on muuttaa nämä päivämäärät ja kellonajat DateTime-objekteiksi ja suorittaa niille tarvittavat toiminnot.

Oletetaan, että meille annetaan seuraava tietojoukko:

Python Datetime: Kattava opas esimerkkeineen

Jos tarkistamme muuttujan tietotyypit, näemme, että päivämäärä ja aika on tallennettu merkkijonona. Siksi meidän on muunnettava päivämäärä- ja aikasarakkeet sopivaan muotoon ennen minkään analyysin suorittamista.

Voimme tehdä tämän käyttämällä seuraavaa koodia:

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)

Tässä koodilohkossa luomme ensin uuden sarakkeen DateTime DataFrame-kehykseen yhdistämällä sarakkeet Date ja Time. Tämän jälkeen käytämme tämän uuden sarakkeen jokaiseen arvoon datetime.strptime-funktiota päivämäärä- ja aikamerkkijonojen muuntamiseksi datetime-objekteiksi. Lopuksi tulostamme DataFramen nähdäksemme tuloksen.

Python Datetime: Kattava opas esimerkkeineen

Seuraava asia, jonka haluaisimme tehdä, on laskea kahden tapahtuman välinen ero. Voimme tehdä tämän käyttämällä seuraavaa koodia:

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

Tämä Python-skripti laskee keston "Tapahtuma1" ja "Tapahtuma2" välillä.

Python Datetime: Kattava opas esimerkkeineen

Lopuksi muunnetaan päivämäärä-aika-objektit eri aikavyöhykkeiksi. Milloin tämä voidaan saavuttaa käyttämällä aikavyöhyketoimintoja datetime-moduulissa.

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

Tässä koodissa luomme aikavyöhykeobjektin UTC:lle. Seuraavaksi luomme DataFrame-kehykseen uuden sarakkeen nimeltä 'DateTime_UTC' ottamalla lambda-funktion DateTime-sarakkeeseen. Tämä korvaa kunkin datetime-objektin aikavyöhyketiedot UTC:llä.

Python Datetime: Kattava opas esimerkkeineen

Yllä olevan esimerkkitapaustutkimuksen avulla näet kuinka DateTime-moduulin tarjoamat eri toiminnot toimivat yhdessä muokatakseen päivämääriä ja kellonaikoja sopivaan muotoon.

Nyt kun olet perehtynyt joihinkin datetime-moduulin toimintoihin, mennään eteenpäin ja tarkastellaan muutamia lisätoimintoja, joita haluat käyttää monimutkaisempiin projekteihin.

Yllä lueteltujen toimintojen lisäksi on olemassa monia muita hyödyllisiä toimintoja, joita voit käyttää kyseessä olevasta ongelmasta riippuen. Python-kehittäjät pitävät usein dokumentaatiosivun auki etsiäkseen tarpeisiisi sopivia toimintoja. Ja suosittelemme sinua tekemään samoin!

Lisäpäivämäärä ja aika -toiminnot

Tässä osiossa käsittelemme Python datetime -moduulin lisätoimintoja. Tämä sisältää arkipäivien, kuukausien ja viikonpäivien nimien hakemisen sekä ctime()- funktion.

Kuinka noutaa arkipäivät päivämäärästä

Datetime - moduulissa on viikonpäivä()- funktio, joka palauttaa viikonpäivän kokonaislukuna (jossa maanantai on 0 ja sunnuntai on 6).

Voit käyttää tätä toimintoa kutsumalla sitä päivämäärä- tai päivämäärä-aikaobjektilla.

import datetime

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

print(weekday_number)

Yllä olevan koodin tulos on alla olevassa kuvassa:

Python Datetime: Kattava opas esimerkkeineen

Nykyinen paikallinen päivämäärä on 23.5.2023 ja arkipäivä on maanantai.

Kuinka hakea kuukausien ja arkipäivien nimet päivämäärästä

datetime avulla voit myös hakea kuukauden nimen ja viikonpäivän.

Voit käyttää strftime()- funktiota, joka muotoilee päivämäärä- tai datetime-objektin merkkijonoksi.

Seuraavassa on esimerkki siitä, kuinka strftime() -funktiota käytetään kuukauden nimen ja viikonpäivän saamiseksi:

import datetime

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

print(weekday_name)
print(month_name)

Tämä koodi näyttää viikonpäivän ja kuukauden nimen tulosteessa.

Python Datetime: Kattava opas esimerkkeineen

Kuinka käyttää Ctime-funktiota

Datetime- moduulin ctime ()- funktio palauttaa päivämäärä- tai päivämäärä-aikaobjektin merkkijonoesityksen muotoon "Päivä ma PP TT:MM:SS VVVV".

ctime on menetelmä datetime - objektille, ei itsenäinen funktio.

Seuraavassa on esimerkki ctime-funktion käyttämisestä koodissasi:

import datetime

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

print(formatted_date)

Yllä oleva koodi palauttaa päivämääräobjektin merkkijonoesityksen.

Python Datetime: Kattava opas esimerkkeineen

Saat lisätietoja aikasarjatietojen käsittelystä katsomalla seuraavaa videota:

Lopulliset ajatukset

Python-ohjelmoijana datetime-moduulin hallitseminen on tärkeää. Se on työkalupakki, jonka avulla voit käsitellä päivämääriä, kellonaikoja ja aikavälejä. Nämä ovat elementtejä, joita kohtaat usein todellisessa datassa.

Tarvitset tätä moduulia merkkijonojen muuntamiseen päivämäärä-aika-objekteiksi, aikavyöhykemuunnosten käsittelemiseen ja toimien suorittamiseen päivämäärillä ja kellonaikoina.

Kun opettelet käyttämään datetime-moduulia, olet paremmin valmistautunut käsittelemään näitä tehtäviä omissa projekteissasi!


LuckyTemplates -muotokartan visualisointi tilaanalyysiin

LuckyTemplates -muotokartan visualisointi tilaanalyysiin

Tämä blogi sisältää Shape Map -visualisoinnin tilaanalyysiä varten LuckyTemplatesissa. Näytän sinulle, kuinka voit käyttää tätä visualisointia tehokkaasti sen ominaisuuksien ja elementtien kanssa.

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

LuckyTemplatesin talousraportointi: tulosten kohdentaminen malleihin jokaisella rivillä

Tässä opetusohjelmassa esittelen ainutlaatuisen idean talousraportoinnista, joka allokoi tulokset LuckyTemplatesin sisällä olevien taulukkopohjien ennalta määrittämiseen.

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

DAX-mittaukset LuckyTemplatesissa käyttämällä mittahaaroitusta

Luo DAX-suureita LuckyTemplatesissa käyttämällä olemassa olevia suureita tai kaavoja. Tätä kutsun mittahaaroitustekniikaksi.

Tehokkain toimintopuhelu LuckyTemplatesissa

Tehokkain toimintopuhelu LuckyTemplatesissa

Tässä blogissa tutustu LuckyTemplates-tietojoukkoon, tehokkaimpaan funktiokutsuun, joka tuo tuhansia M- ja DAX-funktioita sormiesi ulottuville.

Datamallinnustekniikat DAX-mittausten järjestämiseen

Datamallinnustekniikat DAX-mittausten järjestämiseen

Tämän päivän opetusohjelmassa jaan muutamia datamallinnustekniikoita DAX-mittausten järjestämiseksi paremmin tehokkaamman työnkulun aikaansaamiseksi.

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates Financial Dashboard: Täydelliset taulukon mukautusvinkit

LuckyTemplates on loistava työkalu talousraportointiin. Tässä on opetusohjelma räätälöityjen taulukoiden luomisesta LuckyTemplates-talouden hallintapaneelillesi.

Power Queryn kielivirran parhaat käytännöt

Power Queryn kielivirran parhaat käytännöt

Tässä opetusohjelmassa keskustellaan Power Query Language Flowsta ja siitä, kuinka se voi auttaa luomaan sujuvan ja tehokkaan dataraportin.

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

LuckyTemplates mukautetut kuvakkeet | PBI-visualisointitekniikka

Keskustelen yhdestä suosikkitekniikoistani mukautettujen LuckyTemplates-kuvakkeiden ympärillä, joka käyttää mukautettuja kuvakkeita dynaamisella tavalla LuckyTemplates-visuaaleissa.

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

LuckyTemplates -taulukoiden luominen UNION & ROW -funktiolla

Tässä blogissa näytän sinulle, kuinka voit luoda LuckyTemplates-taulukoita käyttämällä kaavaa, joka yhdistää UNION-funktion ja ROW-funktion.

On-Premises Data Gateway Power Automatessa

On-Premises Data Gateway Power Automatessa

Tutustu siihen, kuinka On-premises-tietoyhdyskäytävä antaa Power Automaten käyttää työpöytäsovelluksia, kun käyttäjä on poissa tietokoneesta.