Contents:
To create a datetime object, the datetime module has to be imported. Next, date and time have to be added as arguments.
from datetime import datetime
new_date = datetime(2020, 2, 13)
The code above takes three arguments: year (2020), month (2), day (13).
You have to remember that these values have to be inside certain ranges. Try to write the code this way:
new_date = datetime(2020, 2, 44)
If you try to execute this code, you are going to get an error.
ValueError: day is out of range for month
Contents
Adding time to datetime
The datetime function can take additional arguments: hour, minute, and second.
new_date = datetime(2020, 2, 13, 14, 26, 37)
You can print the whole datetime object:
print(new_date)
The result is the whole date and time:
2020-02-13 14:26:37
But you can also display part of it.
print(new_date.year)
print(new_date.day)
print(new_date.second)
The datetime object with the current date and time
To get the current date and time, use the now function of the datetime object.
from datetime import datetime
current_date = datetime.now()
print(current_date)
Take a look at the result:
2020-03-06 16:51:35.662081
The print function displays date and time. But there is also one additional number. This is the decimal fraction of a second, namely microsecond. You can add this as an argument of datetime, after the second. It can be accessed this way:
print(current_date.microsecond)
Create a datetime object from a string
If you work with files, the data is not always formatted the way you want. To deal with this problem, datetime offers a function called strptime.
from datetime import datetime
date_from_string = datetime.strptime('5Feb2020', '%d%b%Y')
print(date_from_string)
The first argument is a string, and the second one is a way to describe how the string should be formatted.
If you print the object you will have this result:
2020-02-05 00:00:00
There is no time inside an argument, so by default, the time is midnight.