Convert string to time python

Many timestamps have an implied timezone. To ensure that your code will work in every timezone, you should use UTC internally and attach a timezone each time a foreign object enters the system.

Python 3.2+:

>>> datetime.datetime.strptime(
...     "March 5, 2014, 20:13:50", "%B %d, %Y, %H:%M:%S"
... ).replace(tzinfo=datetime.timezone(datetime.timedelta(hours=-3)))

This assumes you know the offset. If you don't, but you know e.g. the location, you can use the pytz package to query the IANA time zone database for the offset. I'll use Tehran here as an example because it has a half-hour offset:

>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)

As you can see, pytz has determined that the offset was +3:30 at that particular date. You can now convert this to UTC time, and it will apply the offset:

>>> utc_time = local_time.astimezone(pytz.utc)
>>> utc_time
datetime.datetime(2014, 3, 5, 16, 43, 50, tzinfo=)

Note that dates before the adoption of timezones will give you weird offsets. This is because the IANA has decided to use Local Mean Time:

>>> chicago = pytz.timezone("America/Chicago")
>>> weird_time = chicago.localize(
...   datetime.datetime.strptime("November 18, 1883, 11:00:00",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> weird_time.astimezone(pytz.utc)
datetime.datetime(1883, 11, 18, 7, 34, tzinfo=)

The weird "7 hours and 34 minutes" are derived from the longitude of Chicago. I used this timestamp because it is right before standardized time was adopted in Chicago.

Educative Answers Team

Python provides the strptime() method, in its datetime class, to convert a string representation of the​ date/time into a date object.

Syntax

The syntax for the strptime() method is:

Code

The code snippet below illustrates the usage of the strptime() method in Python:

from datetime import datetime

date_time_str = '18/09/19 01:55:19'

date_time_obj = datetime.strptime(date_time_str, '%d/%m/%y %H:%M:%S')

print ("The type of the date is now", type(date_time_obj))

print ("The date is", date_time_obj)

The strptime() method will not work if the string argument is not consistent with the format parameter. This is shown below​:

from datetime import datetime

date_time_str = '180919 015519'

date_time_obj = datetime.strptime(date_time_str, '%d/%m/%y %H:%M:%S')

print ("The type of the date is now", type(date_time_obj))

print ("The date is", date_time_obj)

Convert string to time python

The strptime() method is available under datetime and time modules to parse the string to datetime and time objects.

To convert string to datetime in Python, use the strptime() method. The strptime() is a built-in method of datetime class used to convert a string representation of the​ date/time to a datetime object.

Syntax

datetime.strptime(date_string, format)

Parameters

The strptime() function takes both mandatory arguments and should be a string. The strptime() function is exactly the opposite of the strftime() function, which converts a datetime object to a string.

Example

# app.py

from datetime import datetime

dt_str = '27/10/20 05:23:20'

dt_obj = datetime.strptime(dt_str, '%d/%m/%y %H:%M:%S')

print("The type of the date is now",  type(dt_obj))
print("The date is", dt_obj)

Output

The type of the date is now 
The date is 2020-10-27 05:23:20

The datetime.strptime() is a general method for parsing strings into datetimes. It can handle all sorts of formats, with the format defined by the format string you give.

Converting string to datetime using dateutil

The dateutil can be installed from PyPI using the pip package manager. Import the dateutil package and use the parser module to convert string to datetime.

# app.py

from dateutil import parser

dt_str = '27/10/20 05:23:20'

dt_obj = parser.parse(dt_str)

print("The type of the date is now",  type(dt_obj))
print("The date is", dt_obj)

Output

The type of the date is now 
The date is 2020-10-27 05:23:20

Python String to date object

To convert string to date object in Python, use the date() function with the strptime() function.

# app.py

from datetime import datetime

date_str = '10-27-2020'

dto = datetime.strptime(date_str, '%m-%d-%Y').date()
print(type(dto))
print(dto)

Output


2020-10-27

The strptime() function will not work if the string argument is not consistent with the format parameter.

How to set locale in Python

To set a locale in Python, import the locale package in your program and then use the locale.setlocale() method to set the locale.

# app.py

import locale
from datetime import datetime

locale.setlocale(locale.LC_ALL, 'es_ES')
date_str_es = '27-Octubre-2020'  # es_ES locale
datetime_object = datetime.strptime(date_str_es, '%d-%B-%Y')
print(datetime_object)

Output

2020-10-27 00:00:00

That is it for converting a string to datetime in a Python article.

See also

Python datetime to string

Python Date Format

How do you convert string to time?

You can use the following code for changing the String value into the time equivalent: String str = "08:03:10 pm"; DateFormat formatter = new SimpleDateFormat("hh:mm:ss a"); Date date = (Date)formatter. parse(str);

How do you convert string to UTC time in Python?

Python convert a string to datetime with timezone In this example, I have imported a module called timezone. datetime. now(timezone('UTC')) is used to get the present time with timezone. The format is assigned as time = “%Y-%m-%d %H:%M:%S%Z%z”.

How do I convert text to date in Python?

Convert Python String to Date: Python's strptime Function.
from datetime import datetime..
date_string = '2021-12-31'.
datetime = datetime. strptime(date_string, '%Y-%m-%d').
print(datetime).
# Returns: 2021-12-31 00:00:00..

Is there a time datatype in Python?

In Python, date and time are not a data type of their own, but a module named datetime can be imported to work with the date as well as time. Python Datetime module comes built into Python, so there is no need to install it externally. Python Datetime module supplies classes to work with date and time.