Python Datetime: Un ghid cuprinzător cu exemple

Python Datetime: Un ghid cuprinzător cu exemple

Când lucrați cu proiecte de date în Python, este cel mai probabil să utilizați funcții datetime. Aproape fiecare set de date cu care veți lucra va avea o coloană datetime pe care veți dori să o manipulați în funcție de nevoile și cerințele proiectului.

Din fericire, Python vine cu propriul său modul încorporat numit datetime , care vă permite să reprezentați, să manipulați și să efectuați operațiuni cu instanțe datetime, cum ar fi date, ore și combinații ale celor două. Stăpânirea modulului Python datetime vă va ajuta să faceți analize mai solide de serie de timp în proiectele dvs.

Modulul Python datetime este un instrument pentru gestionarea datelor, orelor și intervalelor de timp. Vă permite să efectuați diverse operații pe date și ore într-un mod simplu.

Python Datetime: Un ghid cuprinzător cu exemple

Rezumat de programare – cod sursă și cod binar pe afișajul dezvoltatorului de software. Tema neagră cu sintaxă colorată.

Folosind modulul datetime din Python , puteți lucra cu ușurință cu valori de dată și oră, puteți gestiona fusurile orare, efectuați calcule și chiar gestionați formatarea și analizarea diferitelor reprezentări. Această funcționalitate face din modulul datetime un instrument esențial în multe aplicații, de la procesarea datelor până la programarea evenimentelor și nu numai.

Înainte de a începe să utilizați modulul datetime al lui Python în proiectele dvs., este esențial să înțelegeți clasele subiacente. În secțiunea de mai jos, ne vom uita la cele cinci clase principale ale modulului DateTime al lui Python. Să intrăm în ea!

Cuprins

Care sunt cele 5 clase principale ale modulului Python Datetime?

Modulul Python Datetime este o parte a bibliotecii standard care oferă clase pentru a manipula și a lucra cu date, ore, fusuri orare și durate.

Modulul constă din cinci clase principale:

  1. Datetime

  2. Data,

  3. Timp,

  4. Timedelta

  5. Fus orar.

    Vom analiza fiecare clasă urmată de un exemplu de cazuri de utilizare pentru a vă ajuta să înțelegeți mai bine conceptul.

Cum să utilizați clasa Datetime

Clasa Python Datetime este cea mai des folosită clasă din modul. Reprezintă un singur moment în timp cu atribute precum anul, lună, zi, oră, minut, secundă și microsecundă.

Unele operații comune cu clasa Python Datetime includ:

  • datetime.datetime.now()

Această funcție vă permite să obțineți data și ora curente. Următorul este un exemplu de preluare a datei și orei curente:

import datetime

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

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

Aceasta va afișa data și ora curentă în momentul execuției în formatul AAAA-LL-ZZ HH:MM:SS.ssssss.

Python Datetime: Un ghid cuprinzător cu exemple

  • datetime.datetime

Această funcție vă permite să creați un obiect de dată și oră personalizat. Următorul este un exemplu de utilizare a datetime.datetime în codul dvs.:

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)

Pe lângă funcțiile de mai sus, clasa Datetime oferă și metode de lucru cu data și ora, cum ar fi:

Python Datetime: Un ghid cuprinzător cu exemple

  • strftime() :

Metoda vă permite să formatați obiectele date și oră ca șir. Următorul este un exemplu de metodă strftime():

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)

Acest cod va converti obiectul datetime într-un șir:

Python Datetime: Un ghid cuprinzător cu exemple

  • strptime() :

Această funcție din clasa datetime vă permite să analizați un șir reprezentând obiectele date și oră într-un singur obiect Datetime. Următorul este un exemplu de analiză a unei date stocate ca șir într-un obiect Datetime:

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)

Acest lucru va converti șirul într-un obiect DateTime.

Python Datetime: Un ghid cuprinzător cu exemple

Cum să utilizați clasa de date

Clasa Date vă permite să vă ocupați exclusiv de obiecte date (an, lună și zi). Puteți crea obiecte de date cu clasa de date.

Unele operațiuni comune cu clasa Date includ:

  • datetime.date.today()

Această funcție din clasa de date vă permite să obțineți data curentă. Următorul este un exemplu de preluare a datei curente cu clasa de date:

import datetime

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

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

Acest cod Python va scoate data curentă în momentul execuției în formatul AAAA-LL-ZZ.

Python Datetime: Un ghid cuprinzător cu exemple

La momentul scrierii acestui articol, data curentă era 2023-05-22.

  • datetime.date()

Această funcție din clasa de date vă permite să creați obiecte de dată. Exemplul demonstrează crearea unui obiect data personalizat cu funcția datetime.date():

import datetime

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

print("Custom date: ", custom_date)

În funcția datetime.date(), furnizați anul, luna și ziua ca argumente.

Acest script va afișa 2023-05-22, deoarece ați creat un obiect de dată personalizat pentru data de 22 mai 2023.

Python Datetime: Un ghid cuprinzător cu exemple

Clasa Date oferă și metode utile, cum ar fi:

  • zi lucrătoare ()

This method in the date class returns the day of the week (0 for Monday, 1 for Tuesday, etc.). The following example demonstrates the weekday() method:

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)

In this example, custom_date.weekday() will return 0 because May 22, 2023, falls on a Monday.

Python Datetime: Un ghid cuprinzător cu exemple

  • strftime()

This method in the date class allows you to format the date object as a string. The following example demonstrates strftime() function:

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)

This will output the date formatted as “Month day, Year”.

Python Datetime: Un ghid cuprinzător cu exemple

  • strptime()

This method allows you to parse a string representing a date into a Date object. The following is an example of converting a string date into a Date object:

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)

This will output the date object created from the date string.

Python Datetime: Un ghid cuprinzător cu exemple

How to Use the Time Class

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: Un ghid cuprinzător cu exemple

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: Un ghid cuprinzător cu exemple

  • 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: Un ghid cuprinzător cu exemple

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: Un ghid cuprinzător cu exemple

  • 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: Un ghid cuprinzător cu exemple

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: Un ghid cuprinzător cu exemple

  • 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: Un ghid cuprinzător cu exemple

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.

Sarcina noastră este să transformăm aceste date și ore în obiecte DateTime și să efectuăm operațiuni asupra lor după cum este necesar.

Să presupunem că ni se oferă următorul set de date:

Python Datetime: Un ghid cuprinzător cu exemple

Dacă verificăm tipurile de date ale variabilei, vom vedea că data și ora sunt stocate ca șir. Prin urmare, înainte de a efectua orice analiză, trebuie să convertim coloanele de dată și oră într-un format adecvat.

Pentru a face acest lucru, putem folosi următorul cod:

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)

În acest bloc de cod, creăm mai întâi o nouă coloană „DateTime” în DataFrame prin concatenarea coloanelor „Date” și „Ora”. Apoi, aplicăm funcția datetime.strptime fiecărei valori din această nouă coloană pentru a converti șirurile de dată și oră în obiecte datetime. În cele din urmă, tipărim DataFrame pentru a vedea rezultatul.

Python Datetime: Un ghid cuprinzător cu exemple

Următorul lucru pe care am dori să-l facem este să calculăm diferența dintre două evenimente. Pentru a face acest lucru putem folosi următorul cod:

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

Acest script Python va calcula durata dintre „Event1” și „Event2”.

Python Datetime: Un ghid cuprinzător cu exemple

În cele din urmă, să convertim obiectele datetime într-un alt fus orar. Când se poate realiza acest lucru folosind funcțiile Timezone din modulul datetime.

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

În acest cod, creăm un obiect fus orar pentru UTC. Apoi, creăm o nouă coloană în DataFrame numită „DateTime_UTC” prin aplicarea unei funcții lambda coloanei noastre „DateTime”. Aceasta va înlocui informațiile de fus orar ale fiecărui obiect datetime cu UTC.

Python Datetime: Un ghid cuprinzător cu exemple

Prin exemplul de studiu de caz de mai sus, vedeți cum diferitele funcții furnizate de modulul DateTime lucrează împreună pentru a manipula datele și orele într-un format adecvat.

Acum că sunteți familiarizat cu unele dintre funcțiile din modulul datetime, să mergem mai departe și să ne uităm la câteva funcții suplimentare pe care veți dori să le utilizați pe măsură ce vă ocupați de proiecte mai complexe.

În afară de funcțiile enumerate mai sus, există multe mai multe funcții utile pe care le puteți utiliza în funcție de problema în cauză. Dezvoltatorii Python păstrează adesea o pagină de documentație deschisă pentru a căuta funcții care pot satisface nevoile dvs. Și vă sugerăm să faceți același lucru!

Funcții suplimentare de dată și oră

În această secțiune, vom discuta despre funcțiile suplimentare din modulul Python datetime . Aceasta include preluarea numelor zilelor săptămânii, lunii și zilelor săptămânii, împreună cu funcția ctime() .

Cum să preluați zilele săptămânii de la o dată

Modulul datetime vine cu o funcție weekday() , care returnează ziua săptămânii ca un număr întreg (unde luni este 0 și duminică este 6).

Pentru a utiliza această funcție, o puteți apela pe un obiect dată sau oră.

import datetime

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

print(weekday_number)

Ieșirea codului de mai sus este dată în imaginea de mai jos:

Python Datetime: Un ghid cuprinzător cu exemple

Data locală actuală este 23.05.2023, iar ziua săptămânii este luni.

Cum să preluați numele lunilor și zilelor săptămânii de la o dată

datetime vă permite, de asemenea, să preluați numele lunii și ziua săptămânii.

Puteți utiliza funcția strftime() , care formatează un obiect de dată sau de oră ca șir.

Următorul este un exemplu de utilizare a funcției strftime() pentru a obține numele lunii și ziua săptămânii:

import datetime

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

print(weekday_name)
print(month_name)

Acest cod va tipări în rezultat numele zilei săptămânii și al lunii.

Python Datetime: Un ghid cuprinzător cu exemple

Cum să utilizați funcția Ctime

Funcția ctime() din modulul datetime returnează o reprezentare în șir a unui obiect dată sau dată și oră, formatată ca „Day Mon DD HH:MM:SS AAAA”.

ctime este o metodă pentru un obiect datetime , nu o funcție autonomă.

Următorul este un exemplu de utilizare a funcției ctime în codul dvs.:

import datetime

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

print(formatted_date)

Codul de mai sus va returna o reprezentare șir a obiectului dată.

Python Datetime: Un ghid cuprinzător cu exemple

Pentru a afla mai multe despre lucrul cu datele din serii temporale, aruncați o privire la următorul videoclip:

Gânduri finale

Ca programator Python, stăpânirea modulului datetime este importantă. Este un set de instrumente care vă permite să vă ocupați de date, ore și intervale de timp. Acestea sunt elementele pe care le veți întâlni frecvent în datele din lumea reală.

Veți avea nevoie de acest modul pentru a converti șiruri de caractere în obiecte date și oră, pentru a gestiona conversiile fusului orar și pentru a efectua operațiuni pe date și ore.

Învățând cum să utilizați modulul datetime, veți fi mai bine pregătit să vă ocupați de aceste sarcini în propriile proiecte!


Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Cum să salvați și să încărcați un fișier RDS în R

Cum să salvați și să încărcați un fișier RDS în R

Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.

Introducere la filtrarea contextului în LuckyTemplates

Introducere la filtrarea contextului în LuckyTemplates

În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.

Idei de materializare pentru cache-urile de date în DAX Studio

Idei de materializare pentru cache-urile de date în DAX Studio

Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.

Raportare de afaceri folosind LuckyTemplates

Raportare de afaceri folosind LuckyTemplates

Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți