Prerequisite: DateTime module
In Python, Date and Time are not data types of their own, but a module named DateTime can be imported to work with the date as well as time. Datetime module comes built into Python, so there is no need to install it externally. The DateTime module provides some functions to get the current date as well as time.
Get the current date using date.today[]
The today[] method of date class under DateTime module returns a date object which contains the value of Today’s date.
Syntax: date.today[]
Returns: Return the current local date.
Example:
Python3
from
datetime
import
date
today
=
date.today[]
print
[
"Today date is: "
, today]
Output:
Today date is: 2019-12-11
Get the current date using datetime.now[]
Python library defines a function that can be primarily used to get the current time and datetime.now[] function and return the current local date and time, which is defined under the DateTime module.
Syntax: datetime.now[tz]
Parameters : tz : Specified time zone of which current time and date is required. [Uses Greenwich Meridian time by default.] Returns : Returns the current date and time in time format.
Example:
Python3
from
datetime
import
datetime
now
=
datetime.now[]
print
[
"now = "
, now]
Output:
now = 2019-12-11 10:58:37.039404
Attributes of now[]
The now[] has different attributes, same as attributes of time such as year, month, date, hour, minute, and second.
Example
Python3
import
datetime
current_time
=
datetime.datetime.now[]
print
[
"The attributes of now[] are : "
]
print
[
"Year: "
, end
=
""]
print
[current_time.year]
print
[
"Month: "
, end
=
""]
print
[current_time.month]
print
[
"Day: "
, end
=
""]
print
[current_time.day]
Output:
The attributes of now[] are: Year: 2019 Month: 12 Day: 11
RECOMMENDED ARTICLES – Get Current Date and Time using Python
Are you working with Pandas?
You can use pd.to_datetime
from the pandas library. Here are various options, depending on what you want returned.
import pandas as pd
pd.to_datetime['today'] # pd.to_datetime['now']
# Timestamp['2019-03-27 00:00:10.958567']
As a python datetime object,
pd.to_datetime['today'].to_pydatetime[]
# datetime.datetime[2019, 4, 18, 3, 50, 42, 587629]
As a formatted date string,
pd.to_datetime['today'].isoformat[]
# '2019-04-18T04:03:32.493337'
# Or, `strftime` for custom formats.
pd.to_datetime['today'].strftime['%Y-%m-%d']
# '2019-03-27'
To get just the date from the timestamp, call Timestamp.date
.
pd.to_datetime['today'].date[]
# datetime.date[2019, 3, 27]
Aside from to_datetime
, you can directly instantiate a Timestamp
object using,
pd.Timestamp['today'] # pd.Timestamp['now']
# Timestamp['2019-04-18 03:43:33.233093']
pd.Timestamp['today'].to_pydatetime[]
# datetime.datetime[2019, 4, 18, 3, 53, 46, 220068]
If you want to make your
Timestamp timezone aware, pass a timezone to the tz
argument.
pd.Timestamp['now', tz='America/Los_Angeles']
# Timestamp['2019-04-18 03:59:02.647819-0700', tz='America/Los_Angeles']
Yet another date parser library: Pendulum
This one's good, I promise.
If you're working with pendulum, there are some interesting choices. You can get the current timestamp using now[]
or today's date using today[]
.
import pendulum
pendulum.now[]
# DateTime[2019, 3, 27, 0, 2, 41, 452264, tzinfo=Timezone['America/Los_Angeles']]
pendulum.today[]
# DateTime[2019, 3, 27, 0, 0, 0, tzinfo=Timezone['America/Los_Angeles']]
Additionally, you can also get tomorrow[]
or yesterday[]
's date directly without having to
do any additional timedelta arithmetic.
pendulum.yesterday[]
# DateTime[2019, 3, 26, 0, 0, 0, tzinfo=Timezone['America/Los_Angeles']]
pendulum.tomorrow[]
# DateTime[2019, 3, 28, 0, 0, 0, tzinfo=Timezone['America/Los_Angeles']]
There are various formatting options available.
pendulum.now[].to_date_string[]
# '2019-03-27'
pendulum.now[].to_formatted_date_string[]
# 'Mar 27, 2019'
pendulum.now[].to_day_datetime_string[]
# 'Wed, Mar 27, 2019 12:04 AM'
Rationale for this answer
A lot of pandas users stumble upon this question because they believe it is a python question more than a pandas one. This answer aims to be useful to folks who are already using these libraries and would be interested to know that there are ways to achieve these results within the scope of the library itself.
If you are not working with pandas or pendulum already, I definitely do not recommend installing them just for the sake of running this code! These libraries are heavy and come with a lot of plumbing under the hood. It is not worth the trouble when you can use the standard library instead.