Python timedelta

Содержание: Class

You can instantiate objects from the class. A date object represents a date (year, month and day).

Example 3: Date object to represent a date

When you run the program, the output will be:


If you are wondering, in the above example is a constructor of the class. The constructor takes three arguments: year, month and day.

The variable a is a object.

We can only import class from the module. Here’s how:

Example 5: Get date from a timestamp

We can also create objects from a timestamp. A Unix timestamp is the number of seconds between a particular date and January 1, 1970 at UTC. You can convert a timestamp to date using method.

When you run the program, the output will be:

Date = 2012-01-11

Python datetime Date class

The Python datetime module has the date class used to manipulate or work with dates. We use the Python today method to return the current date.

The Python date class in the datetime module has three important attributes. 

  • date.min: It returns the earliest or minimum representable date.
  • date.max: Latest or maximum representable date.
  • date.resolution: Smallest possible difference between continuous dates.

Python date class attributes

This example shows the list of date attributes available in python. Here, year attribute returns the year from the current date, month = month number, day = day of the month, and weekday = weekday

Create date using Python date

The date class in the datetime module has the date function to create a custom date from the year, month, and day of the month.

The Python fromtimestamp function accepts the POSIX timestamp value as an argument and returns the date from it.

Python Current Date and Time: now() today()

Step 1) Like Date Objects, we can also use «DATETIME OBJECTS» in Python. Python date and time objects give date along with time in hours, minutes, seconds and milliseconds.

When we execute the code for datetime, it gives the output with current date and time.

Step 2) With «DATETIME OBJECT», you can also call time class.

Suppose we want to print just the current time without the date.

t = datetime.time(
  • We had imported the time class. We will be assigning it the current value of time using
  • We are assigning the value of the current time to the variable t.

And this will give me just the time. So let’s run this program.

Okay, so you can see that here I got the date and time. And then the next line, I’ve got just the time by itself

Step 3) We will apply our weekday indexer to our weekday’s arrayList to know which day is today

  • Weekdays operator (wd) is assigned the number from (0-6) number depending on what the current weekday is. Here we declared the array of the list for days (Mon, Tue, Wed…Sun).
  • Use that index value to know which day it is. In our case, it is #2, and it represents Wednesday, so in the output it will print out «Which is a Wednesday.»

Here is the complete code to get current date and time using datetime now

Here is the complete code to get current date and time using datetime now

from datetime import date
from datetime import time
from datetime import datetime
def main():
    #Get today's date from datetime class
    #print (today)
    # Get the current time
    #t = datetime.time(
    #print "The current time is", t
    #weekday returns 0 (monday) through 6 (sunday)
    #Days start at 0 for monday
    print("Today is day number %d" % wd)
    print("which is a " + days)

if __name__== "__main__":

Класс TimeZoneInfoThe TimeZoneInfo class

Класс TimeZoneInfo class represents any of the Earth’s time zones, and enables the conversion of any date and time in one time zone to its equivalent in another time zone.The TimeZoneInfo class represents any of the Earth’s time zones, and enables the conversion of any date and time in one time zone to its equivalent in another time zone. Класс TimeZoneInfo позволяет работать со значениями даты и времени, обеспечивая однозначную идентификацию единственного момента времени с помощью любого значения даты и времени.The TimeZoneInfo class makes it possible to work with dates and times so that any date and time value unambiguously identifies a single point in time. Класс TimeZoneInfo также является расширяемым.The TimeZoneInfo class is also extensible. Хотя он зависит от сведений о часовом поясе, предоставленных для систем Windows и определенных в реестре, он поддерживает создание настраиваемых часовых поясов.Although it depends on time zone information provided for Windows systems and defined in the registry, it supports the creation of custom time zones. Кроме того, он поддерживает сериализацию и десериализацию сведений о часовом поясе.It also supports the serialization and deserialization of time zone information.

В некоторых случаях использование всех преимуществ класса TimeZoneInfo может потребовать дальнейших усилий по разработке.In some cases, taking full advantage of the TimeZoneInfo class may require further development work. Если значения даты и времени не тесно связаны с часовыми поясами, к которым они относятся, требуется дополнительная работа.If date and time values are not tightly coupled with the time zones to which they belong, further work is required. Если приложение не предоставляет какой-либо механизм для связывания даты и времени со связанным часовым поясом, то определенное значение даты и времени можно легко привязать к его часовому поясу.Unless your application provides some mechanism for linking a date and time with its associated time zone, it’s easy for a particular date and time value to become disassociated from its time zone. Одним из способов связывания этой информации является определение класса или структуры, содержащих значение даты и времени и связанный с ним часовой пояс.One method of linking this information is to define a class or structure that contains both the date and time value and its associated time zone object.

Чтобы воспользоваться преимуществами поддержки часовых поясов в .NET, необходимо знание часового пояса, к которому принадлежит значение даты и времени при создании экземпляра объекта даты и времени.To take advantage of time zone support in .NET, you must know the time zone to which a date and time value belongs when that date and time object is instantiated. Часовой пояс часто неизвестен, особенно в веб-или сетевых приложениях.The time zone is often not known, particularly in web or network apps.

Doing Arithmetic With Python datetime

Python instances support several types of arithmetic. As you saw earlier, this relies on using instances to represent time intervals. is very useful because it’s built into the Python standard library. Here’s an example of how to work with :


In this code, you create , which stores the current time, and , which is a of days. Next, you add and to produce a instance one day in the future. Note that working with naive instances, as you are here, means that the attribute of the increments by one and does not account for any repeated or skipped time intervals.

instances also support negative values as the input to the arguments:


In this example, you provide as the input to , so when you add and , the result is a decrease by one in the attribute.

instances support addition and subtraction as well as positive and negative integers for all arguments. You can even provide a mix of positive and negative arguments. For instance, you might want to add three days and subtract four hours:


In this example, you add three days and subtract four hours, so the new is at January 29 at 5:37 AM. is very useful in this way, but it’s somewhat limited because it cannot add or subtract intervals larger than a day, such as a month or a year. Fortunately, provides a more powerful replacement called .

The basic syntax of is very similar to . You can provide keyword arguments that produce changes of any number of years, months, days, hours, seconds, or microseconds. You can reproduce the first example with this code:


In this example, you use instead of to find the corresponding to tomorrow. Now you can try adding five years, one month, and three days to while subtracting four hours and thirty minutes:


Notice in this example that the date ends up as March 1, 2025. This is because adding three days to would be January 29, and adding one month to that would be February 29, which only exists in a leap year. Since 2025 is not a leap year, the date rolls over to the next month.

You can also use to calculate the difference between two instances. Earlier, you used the subtraction operator to find the difference between two Python instances, and . With , instead of using the subtraction operator, you need to pass the two instances as arguments :


In this example, you create a new instance for by incrementing the field by one. Then, you use and pass and as the two arguments. then takes the difference between these two instances and returns the result as a instance. In this case, the difference is days, since happens before .

objects have countless other uses. You can use them to find complex calendar information, such as the next year in which October the 13th falls on a Friday or what the date will be on the last Friday of the current month. You can even use them to replace attributes of a instance and create, for example, a one week in the future at 10:00 AM. You can read all about these other uses in the .

Starting Your PyCon Countdown

Now you have enough information to start working on a countdown clock for next year’s PyCon US! PyCon US 2021 will start on May 12, 2021 in Pittsburgh, PA. With the 2020 event having been canceled, many Pythonistas are extra excited for next year’s gathering. This is a great way to keep track of how long you’ll need to wait and boost your skills at the same time!

To get started, create a file called and add this code:

In this code, you import from and define a constant, , that stores the date of the next PyCon US. You don’t expect the date of PyCon to change, so you name the variable in all caps to indicate that it’s a constant.

Next, you compute the difference between , which is the current time, and . Taking the difference between two instances returns a instance.

instances represent the change in time between two instances. The delta in the name is a reference to the Greek letter delta, which is used in science and engineering to mean a change. You’ll learn more about how to use for more general arithmetic operations.

Finally the printed output, as of April 9, 2020 at a little before 9:30 PM is:

Only 397 days until PyCon US 2021! This output is a little clunky, so you’ll see how you can improve the formatting. If you run this script on a different day, you’ll get a different output. If you run the script after May 12, 2021 at 8:00 AM, you’ll get a negative amount of time remaining!

Округление типа данных datetime до долей секундыRounding of datetime Fractional Second Precision

Значения типа datetime округляются в большую сторону до 0,000, 0,003 или 0,007 секунды, как показано в таблице, представленной ниже.datetime values are rounded to increments of .000, .003, or .007 seconds, as shown in the following table.

Указанное пользователем значениеUser-specified value Значение, хранимое системойSystem stored value
01/01/98 23:59:59.99901/01/98 23:59:59.999 1998-01-02 00:00:00.0001998-01-02 00:00:00.000
01/01/98 23:59:59.99501/01/98 23:59:59.99501/01/98 23:59:59.99601/01/98 23:59:59.99601/01/98 23:59:59.99701/01/98 23:59:59.99701/01/98 23:59:59.99801/01/98 23:59:59.998 1998-01-01 23:59:59.9971998-01-01 23:59:59.997
01/01/98 23:59:59.99201/01/98 23:59:59.99201/01/98 23:59:59.99301/01/98 23:59:59.99301/01/98 23:59:59.99401/01/98 23:59:59.994 1998-01-01 23:59:59.9931998-01-01 23:59:59.993
01/01/98 23:59:59.99001/01/98 23:59:59.99001/01/98 23:59:59.99101/01/98 23:59:59.991 1998-01-01 23:59:59.9901998-01-01 23:59:59.990

Format Unix timestamp python

Here, we can see the Format Unix timestamp in python.

The format of unix timestamp is 10 digits.

  • In this example, I have imported a module called datetime and time and declared a variable as datetime and assigned datetime =, 2, 15).
  • Here 2020 is the year, 2 is the month, 15 is the day
  • We can see the format of Unix timestamp by using print(“Unix_Time_stamp: “,(time.mktime(datetime.timetuple()))).


We can see the format of unix timestamp as the output. The below screenshot shows the output

Format Unix timestamp python

You may like the following Python tutorials:

  • Python catch multiple exceptions
  • Python Exceptions Handling
  • Python Tkinter Map() Function
  • Python save an image to file
  • How to Create Date Time Picker using Python Tkinter
  • How to read a text file using Python Tkinter
  • How to go to next page in Python Tkinter Program

In this tutorial, we have learned about Python DateTime to UNIX timestamp, and also we have covered these topics:

  • What is the Unix timestamp?
  • Convert DateTime to Unix timestamp python
  • Python DateTime to Unix timestamp milliseconds
  • Python DateTime to Unix timestamp 13 digits
  • Python DateTime to Unix timestamp UTC
  • Python DateTime string to Unix timestamp
  • Python to Unix timestamp
  • Python to Unix timestamp
  • Python DateTime to Unix timestamp seconds
  • Python Datetime to Unix timestamp timezone
  • Python Unix timestamp to datetime
  • Format Unix timestamp python

Другой часовой пояс: временные зоны (timezones)

Метод  принимает в Python временную зону в качестве аргумента, так что объект datetime генерируется соответствующим образом. 

Для получения информации с учетом часового пояса необходимо задействовать библиотеку pytz (если ее нет, потребуется инсталляция, для чего подойдет команда ).

Так как я нахожусь в Минске, давайте получим текущие временные значения (times) именно для Минска:

Строка в коде является объектом datetime, то есть все то же самое, что и ранее, но уже в полном соответствии с часовым поясом Республики Беларусь.

Когда надо узнать время в UTC, тоже пригодится модуль pytz:

Получить время UTC можно и без модуля pytz, т. к. datetime имеет полезное свойство timezone. Что же, давайте задействуем свойство timezone:

Таким образом, можно без проблем преобразовать текущие даты и значения времени в различные часовые пояса.

Programming With Dates and Times

If you’ve ever worked on software that needed to keep track of times across several geographic areas, then you probably have a sense of why programming with time can be such a pain. The fundamental disconnect is that computer programs prefer events that are perfectly ordered and regular, but the way in which most humans use and refer to time is highly irregular.

Note: If you want to learn more about why time can be so complicated to deal with, then there are many great resources available on the web. Here are a few good places to start:

  • Computerphile: The Problem With Time & Timezones
  • Working With Time Zones: Everything You Wish You Didn’t Need to Know
  • The Complexity of Time Data Programming

One great example of this irregularity is daylight saving time. In the United States and Canada, clocks are set forward by one hour on the second Sunday in March and set back by one hour on the first Sunday in November. However, this has only been the case since 2007. Prior to 2007, clocks were set forward on the first Sunday in April and set back on the last Sunday in October.

Things get even more complicated when you consider time zones. Ideally, time zone boundaries would follow lines of longitude exactly. However, for historical and political reasons, time zone lines are rarely straight. Often, areas that are separated by large distances find themselves in the same time zone, and adjacent areas are in different time zones. There are some time zones out there with pretty funky shapes.

Convert DateTime to Unix timestamp python

Now, we can see how to convert DateTime to Unix timestamp in python.

  • In this example, I have imported a module called datetime and time, the variable datetime is declared and assigned datetime.datetime(2020, 2, 11, 10, 20).
  • Here 2020 is the year, 2 is the month, 11 is the day, 10 is the hour and 20 is the minute.
  • The datetime module has many methods that return many information about the date object.
  • The mktime is the method of time which is the inverse function of local time, this method is used to convert datetime to Unix timestamp.
  • The timetuple() is a method of datetime class that returns the attributes of datetime as a name tuple.


The below screenshot shows the unix timestamp as the output:

Convert DateTime to Unix timestamp python

You may also like Python concatenate list with examples.

Further Reading

Since programming with time can be so complicated, there are many resources on the web to help you learn more about it. Fortunately, this is a problem that many people who work in every programming language have thought about, so you can usually find information or tools to help with any problem you may have. Here’s a selected list of articles and videos that I found helpful in writing this tutorial:

  • Daylight saving time and time zone best practices
  • Storing UTC is not a Silver Bullet
  • How to save datetimes for future events
  • Coding Best Practices Using DateTime in the .NET Framework
  • Computerphile: The Problem with Time & Timezones
  • The Complexity of Time Data Programming

In addition, Paul Ganssle is a core contributor to CPython and the current maintainer of . His articles and videos are a great resource for Python users:

Таблица форматов

Вы должны следовать приведенной ниже таблице форматов, чтобы использовать соответствующие директивы при указании параметра формата.

Директива Значение Пример вывода
%A День недели как полное название локали. Среда
%a День недели как сокращенное название локали. Пн, вт, ср
%w День недели в виде десятичного числа, где 0 — воскресенье, а 6 — суббота. 0,1,2,3,4… 6
%d День месяца в виде десятичного числа с нулями. 01,02,03… 31
% -d День месяца в виде десятичного числа. (Зависит от платформы) 1,2,3…
% b Месяц как сокращенное название языкового стандарта. Море
% B Месяц как полное название локали. марш
% m Месяц как десятичное число с нулями. 01,02… 12
% -m Месяц как десятичное число. (Зависит от платформы) 1,2,… 12
%y Год без века как десятичное число с нулями. 20 (на 2020 год)
% Y Год со столетием в виде десятичного числа. 2020, 2021 и др.
%H Час (в 24-часовом формате) как десятичное число с нулями. 01, 02,…
%-H Час (24-часовой формат) в виде десятичного числа. (Зависит от платформы) 1,2,3,…
%I Час (12-часовой формат) как десятичное число с нулями. 01, 02, 03,…
%-I Час (12-часовой формат) в виде десятичного числа. (Зависит от платформы) 1, 2, 3…
%p Локальный эквивалент AM или PM. ДО ПОЛУДНЯ ПОСЛЕ ПОЛУДНЯ
%M Минута в виде десятичного числа с нулями. 01, 02,… 59
% -M Минута как десятичное число. (Зависит от платформы) 1,2,3,… 59
% S Второй — десятичное число с нулями. 01, 02,… 59
% -S Секунда как десятичное число. (Зависит от платформы) 1, 2,… 59
% f Микросекунда в виде десятичного числа с нулями слева. 000000
%z Смещение UTC в форме + ЧЧММ или -ЧЧММ (пустая строка, если объект наивен). (пусто), +0000, -0400, +1030
%Z Название часового пояса (пустая строка, если объект наивный). (пусто), UTC, IST, CST
% j День года в виде десятичного числа с нулями. 1, 2, 3,… 366
% -j День года в виде десятичного числа. (Зависит от платформы) 1, 2, 3,… 366
% U Номер недели в году (воскресенье как первый день недели) в виде десятичного числа, дополненного нулями. Все дни нового года, предшествующие первому воскресенью, считаются нулевой неделей. 1, 2, 3,… 53
%W Номер недели в году (понедельник как первый день недели) в виде десятичного числа. Все дни нового года, предшествующие первому понедельнику, считаются нулевой неделей. 1, 2, 3,… 53
% c Соответствующее представление даты и времени для локали. Ср 06 мая 12:23:56 2020
%x Соответствующее представление даты языкового стандарта. 06.05.20
%X Соответствующее временное представление локали. 12:23:56
%% Буквальный символ «%». %

Модуль datetime

Модуль содержит классы:

Также существует класс , который применяется для работы с часовыми поясами.


Класс принимает три аргумента: год, месяц и день.

>>> import datetime
>>> date =, 4, 2)
>>> date.year
>>> date.month

Давайте посмотрим, какой сейчас день:

>>> today =
>>> today.year
>>> today.month

Класс datetime.datetime

Класс принимает аргументы: год, месяц, день, час, минута, секунда и микросекунда.

>>> date_time = datetime.datetime(2017, 4, 21, 13, 30, 10)
>>> date_time.year
>>> date_time.month
>>> date_time.hour
>>> date_time.minute
>>> date_time.second

Давайте посмотрим, какое сейчас время:

>>> today =
>>> today
datetime.datetime(2018, 4, 21, 12, 43, 27, 786725)
>>> today.hour
>>> today.minute
>>> # местное время
datetime.datetime(2018, 4, 24, 13, 2, 39, 17479)
>>> datetime.datetime.utcnow() # время по Гринвичу
datetime.datetime(2018, 4, 24, 10, 2, 47, 46330)

Получить из объекта отдельно дату и отдельно время:

>>> today =
>>> today
datetime.datetime(2018, 4, 21, 13, 26, 54, 387462)
>>> # отдельно дата, 4, 21)
>>> today.time() # отдельно время
datetime.time(13, 26, 54, 387462)

Классы и содержат метод , который позволяет создавать строку, отображающую время в более понятной для человека форме.

>>> today ="%d.%m.%Y")
>>> today
>>> import locale
>>> locale.setlocale(locale.LC_ALL, "ru") # задаем локаль для вывода даты на русском языке
>>> today ="%A, %d.%m.%Y")
>>> today
'суббота, 21.04.2018'
Сокращенное название дня недели
Полное название дня недели
Сокращенное название месяца
Полное название месяца
Дата и время
День месяца
24-часовой формат часа
12-часовой формат часа
День года. Цифровой формат
Номер месяца. Цифровой формат
Минута. Цифровой формат
До полудня или после (AM или PM)
Секунда. Цифровой формат
Номер недели в году. Цифровой формат (с воскресенья)
День недели. Цифровой формат
Номер недели в году. Цифровой формат (с понедельника)
Год без века. Цифровой формат
Год с веком. Цифровой формат
Временная зона
Знак процента

Методы класса :

  • — объект из текущей даты и времени; работает также, как и со значением .
  • — объект из текущей даты и времени, местное время.
  • — объект из текущей даты и времени, по Гринвичу.
  • — дата из стандартного представления времени.
  • — дата из числа, представляющего собой количество дней, прошедших с 01.01.1970.
  • — объект из комбинации объектов и .
  • — преобразует строку в (так же, как и функция из модуля ).
  • — преобразует объект в строку согласно формату.
  • — объект даты (с отсечением времени).
  • — объект времени (с отсечением даты).
  • — возвращает новый объект с изменёнными атрибутами.
  • — возвращает из .
  • — количество дней, прошедших с 01.01.1970.
  • — возвращает время в секундах с начала эпохи Unix.
  • — день недели в виде числа, понедельник — 0, воскресенье — 6.
  • — день недели в виде числа, понедельник — 1, воскресенье — 7.
  • — кортеж (год в формате ISO, ISO номер недели, ISO день недели).
  • — красивая строка вида или, если ,
  • — возвращает строковое представление текущего местного времени.

Класс datetime.timedelta

Класс позволяет выполнять операции над датами — складывать, вычитать, сравнивать. Конструктор принимает именованные аргументы , , , , , , :

>>> delta = datetime.timedelta(days = 5, hours = 1, minutes = 1)
>>> delta
datetime.timedelta(5, 3660)

Интервал времени 5 дней, 1 час и 1 минута. Получить результат можно с помощью атрибутов , и (5 дней и 3660 секунд):

>>> delta.days
>>> delta.seconds

Получить результат в секундах позволяет метод :

>>> today = # текущая дата
>>> today
datetime.datetime(2018, 4, 21, 15, 19, 2, 515432)
>>> future = datetime.datetime(2019, 4, 21, 15, 19, 2, 515432) # дата на один год больше
>>> delta = future - today
>>> delta
>>> delta.total_seconds() # 365 дней в секундах

Прибавить к текущей дате 10 дней, 10 часов и 10 минут:

>>> today =
>>> delta = datetime.timedelta(days = 10, hours = 10, minutes = 10)
>>> future = today + delta
>>> today # 21 апреля 2018 года, 15:29
datetime.datetime(2018, 4, 21, 15, 29, 29, 265954)
>>> future # 2 мая 2018 года, 01:39
datetime.datetime(2018, 5, 2, 1, 39, 29, 265954)

Python 2 Example

from datetime import date
from datetime import time
from datetime import datetime
def main():
    #Get today's date from datetime class
	#print today
	# Get the current time
	#t = datetime.time(
	#print "The current time is", t
	#weekday returns 0 (monday) through 6 (sunday)
        wd = date.weekday(today)
	#Days start at 0 for monday
        print "Today is day number %d" % wd
        print "which is a " + days

if __name__== "__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= #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__":
# 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(
# print today's date one year from now
print "one year from now it will be:" + str( + timedelta(days=365))
# create a timedelta that uses more than one argument
# print "in one week and 4 days it will be " + str( + timedelta(weeks=1, days=4))
# How many days until New Year's Day?
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)

Как конвертировать временные метки в объекты DateTime, используя Strptime ()

Даты могут дать нам много информации, как месяц, год, день, будний день и будь то праздник или нет. Преобразует временную метку в виде строки до Объект, который дает нам много дополнительных функций. Эта функция ожидает строку и формат метки времени.

from datetime import datetime

d = datetime.strptime("21-02-2021 18:46:00", "%d-%m-%Y %H:%M:%S")

Строка 21-02-2021 18:46:00 преобразуется в подходящее Использование указанного формата. Некоторые из самых полезных директив:

  • За день месяца как от нулевой ткани, как 01, 02, 03
  • в течение месяца в качестве нулевого десятичного числа
  • За год с веком как десятичное число
  • 24 часа часы с нулевым значением часа
  • для нулевых минут, а также
  • для нулевых вспомогательных секунд.

Эта коллекция спецификаторов формата достаточно, чтобы вы начали. Для получения дополнительных вариантов вы можете просматривать, связанные с документами Отказ

Как получить текущее значение времени времени

Предположим, вы хотите хранить данные в базу данных с текущим временем времени в качестве ключа. Чтобы получить текущий момент времени, вам просто нужно 1 строку кода:

#Obtain the current timestamp

from datetime import datetime

Как узнать, какой день это

Допустим, нам нужно знать день недели. Мы можем использовать Функция, которая возвращает числовой код на день недели, ноль через шесть, где ноль представляет в понедельник, один представляет вторник, и так далее.

Вывод может использоваться с оператором Switch для преобразования числового кода на требуемое имя дня, или вы можете использовать такой список:

Как генерировать список дат с данной даты

Допустим, мы знаем, сколько людей пиццей приказали до сегодняшнего дня, и мы заинтересованы в прогнозировании продаж пиццы на следующую неделю.

Итак, дана сегодняшняя дата, нам нужны все даты на следующую неделю для нашего необходимого анализа. Но мы не хотим беспокоиться о прыжковых годах, веках лет, и так далее. Вот один из способов сделать это.

Как работать с объектами TimeDelta

Как указано имя, Объекты представляют длительность времени между двумя датами. Допустим, у нас есть два дата, и нам нужно знать, сколько времени прошло между ними.

Объекты требуют нескольких аргументов, таких как дни, секунды, микросекунды, миллисекунды, минут, часов и недель. Значения по умолчанию для всех равны нулю. Давайте узнаем разницу в часах между 2 датами.

Что пошло не так? Не хранит ничего внутреннего, кроме дней, секунд и микросекунды, поэтому нам нужно преобразовать их, как показано ниже:

Как получить строковое представление даты от DateTime или Date Objects, используя платье

Если мы распечатаем Сам объект, дата печатается в формате ISO. Использование Мы передаем строку формата для управления строковым представлением даты.

4.1. Модуль datetime¶

Основной функционал для работы с датами и временем сосредоточен в модуле datetime в виде следующих классов:

  • date
  • time
  • datetime

4.1.1. Класс date

Для работы с датами воспользуемся классом date, который определен в модуле datetime. Для создания объекта date мы можем использовать конструктор date, который последовательно принимает три параметра: год, месяц и день:

date(year, month, day)

Например, создадим какую-либо дату:

import datetime

yesterday =,5, 2)
print(yesterday)      # 2017-05-02

Если необходимо получить текущую дату, то можно воспользоваться методом today():

from datetime import date

today =
print(today)      # 2017-05-03
print("{}.{}.{}".format(, today.month, today.year))      # 2.5.2017

С помощью свойств day, month, year можно получить соответственно день, месяц и год.

4.1.2. Класс time

За работу с временем отвечает класс time. Используя его конструктор, можно создать объект времени:


Конструктор последовательно принимает часы, минуты, секунды и микросекунды. Все параметры необязательные, и если мы какой-то параметр не передадим, то соответствующее значение будет инициализироваться нулем:

from datetime import time

current_time = time()
print(current_time)     # 00:00:00

current_time = time(16, 25)
print(current_time)     # 16:25:00

current_time = time(16, 25, 45)
print(current_time)     # 16:25:45

4.1.3. Класс datetime

Класс datetime из одноименного модуля объединяет возможности работы с датой и временем. Для создания объекта datetime можно использовать следующий конструктор:

datetime(year, month, day )

Первые три параметра, представляющие год, месяц и день, являются обязательными. Остальные необязательные, и если мы не укажем для них значения, то по умолчанию они инициализируются нулем:

from datetime import datetime

deadline = datetime(2017, 5, 10)
print(deadline)     # 2017-05-10 00:00:00

deadline = datetime(2017, 5, 10, 4, 30)
print(deadline)     # 2017-05-10 04:30:00

Для получения текущих даты и времени можно вызвать метод now():

from datetime import datetime

now =
print(now)     # 2017-05-03 11:18:56.239443

print("{}.{}.{}{}{}".format(, now.month, now.year, now.hour, now.minute))  # 3.5.2017  11:21


С помощью свойств day, month, year, hour, minute, second можно получить отдельные значения даты и времени. А через методы date() и time() можно получить отдельно дату и время соответственно.

datetime Time class

The Python datetime module has the time class, which helps us to work with the time and manipulate them. This example uses the Python time method to return 00:00:00.

The Python time class in the datetime module has the following 3 important attributes. 

  • time.min: It returns the earliest or minimum representable time.
  • time.max: Latest or maximum representable time.
  • time.resolution: Smallest possible difference between time.

Create Time using Python time

Here, we are using the time function to construct or create a time with 10 hours, 22 minutes, and 33 seconds

This Python time example is an extension of the above. Here, we are using the microseconds and the argument names as well.

Python time attributes

This example shows the list of available time attributes in python. Here, hour attribute returns the Hour from a given time, minute, second, and microsecond

Python date time timedelta

The datetime timedelta function predicts or return the past and future dates. In this example, we are returning the date and time after one year and two years before. Refer to Python timedelta.

Python date time strftime

The datetime strftime function formats the date in the specified format, and return the date as a string. Here, %Y-%m-%d’ means Year-Month-Day (2019-01-31). Refer to Python strftime.

Python strptime

The datetime strptime converts the string representation of the date to a regular date and time. Here, datetime.strptime(dt_str, ‘%d %B %Y’) means string date is passes in Day Month_Name Year format. Refer Python strptime.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *