Python strptime
is a method used to parse a string representation of a date and time and convert it into a datetime
object. The method takes two arguments: a string representing the date and time, and a format string specifying the order and format of the date and time components.
The strptime
method returns a datetime
object representing the parsed date and time, which can then be used for various operations such as reformatting or arithmetic operations.
How to Use Python Strptime
To use Python strptime
, first import the datetime
module. Then, use the strptime
method to parse a string representation of a date and time. Here’s the basic syntax of the strptime
method:
datetime.datetime.strptime(date_string, format)
Here’s an example of using the strptime
method:
import datetime
date_string = '2021-09-15 14:30:00'
format_string = '%Y-%m-%d %H:%M:%S'
parsed_date = datetime.datetime.strptime(date_string, format_string)
print(parsed_date)
Output:
2021-09-15 14:30:00
Python Strptime Format Codes
The format argument of the strptime
method is a string specifying the date and time format. The format string consists of various format codes representing the different components of the date and time. Here are some commonly used format codes:
Code | Description |
---|---|
%Y | Year with century as a decimal number. |
%m | Month as a zero-padded decimal number. |
%d | Day of the month as a zero-padded decimal number. |
%H | Hour (24-hour clock) as a zero-padded decimal number. |
%M | Minute as a zero-padded decimal number. |
%S | Second as a zero-padded decimal number. |
%f | Microsecond as a decimal number. |
%z | UTC offset in the form ±HHMM[SS[.ffffff]]. |
%Z | Time zone name. |
Example using some of these format codes:
import datetime
date_string = '2021-09-15T14:30:00.123456+00:00'
format_string = '%Y-%m-%dT%H:%M:%S.%f%z'
parsed_date = datetime.datetime.strptime(date_string, format_string)
print(parsed_date)
Output:
2021-09-15 14:30:00.123456+00:00
Handling Time Zones with Python Strptime
Python strptime
can also parse date and time strings with time zone information. When parsing a string with a time zone, use the %z
format code to specify the time zone offset. Here’s an example:
import datetime
date_string = '2021-09-15T14:30:00+00:00'
format_string = '%Y-%m-%dT%H:%M:%S%z'
parsed_date = datetime.datetime.strptime(date_string, format_string)
print(parsed_date)
Output:
2021-09-15 14:30:00+00:00
Parsing Dates in Different Formats
Python strptime
can parse date and time strings formatted in various ways. Here’s an example of parsing a date in a different format:
import datetime
date_string = '15-Sep-21'
format_string = '%d-%b-%y'
parsed_date = datetime.datetime.strptime(date_string, format_string)
print(parsed_date)
Output:
2021-09-15 00:00:00
Handling Invalid Dates with Python Strptime
Python strptime
can handle invalid dates, such as February 30th, by adjusting the date to the nearest valid date. Here’s an example:
import datetime
date_string = '2021-02-30'
format_string = '%Y-%m-%d'
parsed_date = datetime.datetime.strptime(date_string, format_string)
print(parsed_date)
Output:
2021-03-02 00:00:00
Using Python Strptime with Pandas
Python strptime
can be used in conjunction with the Pandas library to parse dates in a DataFrame. Here’s an example:
import pandas as pd
data = {
'date': ['2021-09-15', '2021-09-16', '2021-09-17'],
'value': [10, 20, 30]
}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'], format='%Y-%m-%d')
print(df)
Output:
date value
0 2021-09-15 10
1 2021-09-16 20
2 2021-09-17 30
Conclusion
Python strptime
is a powerful method for parsing date and time strings in various formats. It’s an essential tool for working with dates and times in Python, and can be used with other libraries, such as Pandas, for complex data analysis tasks.
This article provided a detailed description of Python strptime
, along with code examples and explanations of related concepts and methods. We hope that this information has been helpful in understanding Python strptime
and will be useful in your future Python projects.