Open In App

Extract time from datetime in Python

Last Updated : 31 Aug, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we are going to see how to extract time from DateTime in Python.

In Python, there is no such type of datatype as DateTime, first, we have to create our data into DateTime format and then we will convert our DateTime data into time. A Python module is used to convert the data into DateTime format, but in the article, we will be using the datetime module to do this task.

Syntax: datetime.strptime()

Parameters : 

  • arg: It can be integer, float, tuple, Series, Dataframe to convert into datetime as its datatype
  • format: This will be str, but the default is None. The strftime to parse time, eg “%d/%m/%Y”, note that “%f” will parse all the way up to nanoseconds.

e.g – > format = “%Y%b%d%H%M%S”

e.g., datetime_obj = datetime.strptime(“19022002101010″,”%d%m%Y%H%M%S”) # It will return the datetime object.

Extract time from DateTime object

In this section, we will extract time from DateTime object.

We make our string into DateTime object, now we extract time from our DateTime object, by calling .time() method.

Syntax : .time()

Returns : It will return the time from the datetime object

Below is the implementation:

Python3




# import important module
import datetime
from datetime import datetime
  
# Create datetime string
datetime_str = "24AUG2001101010"
  
# call datetime.strptime to convert
# it into datetime datatype
datetime_obj = datetime.strptime(datetime_str, 
                                 "%d%b%Y%H%M%S")
  
# It will print the datetime object
print(datetime_obj)
  
# extract the time from datetime_obj
time = datetime_obj.time()
  
  
# it will print time that 
# we have extracted from datetime obj
print(time) 


Output: 

2001-08-24 10:10:10
10:10:10

Extract hour from time

In this section, we will extract hours from extracted time from the DateTime object, all the 3 steps are the same as in the previous example, In this example, we will add the .hour method to extract hours from DateTime object.

We have to extract time, so the next part is to extract hours from DateTime object, by calling the .hour method.

Syntax : .hour

Return : It will return the hour from timestamp.

Below is the implementation:

Python3




# import important module
import datetime
from datetime import datetime
  
# Create datetime string
datetime_str = "31OCT2020231032"
  
# call datetime.strptime to convert
# it into datetime datatype
datetime_obj = datetime.strptime(datetime_str, "%d%b%Y%H%M%S")
  
# It will print the datetime object
print("date time : {}".format(datetime_obj))
  
# extract the time from datetime_obj
time = datetime_obj.time()
  
# it will print time that
# we have extracted from datetime obj
print("Time : {}".format(time)) 
  
# extract hour from time
hour = time.hour
print("Hour : {}".format(hour))


Output: 

date time : 2020-10-31 23:10:32
Time : 23:10:32
Hour : 23

Extract minutes and second from time

In this example, we will add the .minute, .second method to extract minutes and seconds from DateTime object.

Python3




# import important module
import datetime
from datetime import datetime
  
# Create datetime string
datetime_str = "10JAN300123000"
  
# call datetime.strptime to
# convert it into datetime datatype
datetime_obj = datetime.strptime(datetime_str,
                                 "%d%b%Y%H%M%S")
  
# It will print the datetime object
print("date time : {}".format(datetime_obj))
  
# extract the time from datetime_obj
time = datetime_obj.time()
  
# it will print time that we
# have extracted from datetime obj
print("Time : {}".format(time)) 
  
# extract minute from time
minute = time.minute
print("Minute : {}".format(minute))
  
# extract second from time
second = time.second
print("Second : {}".format(second))


Output

date time : 3001-01-10 23:00:00
Time : 23:00:00
Minute : 0
Second : 0

Determine time, if the date note falls in the range

If Date doesn’t fall in the range, then the code will give us a ‘ValueError”.  In order to determine the time with this error, we can do is to use exception statements and tell the user that you have entered the wrong date and you can’t get the time from that date, because that date never existed, so how to the time should be existed in that date.

Python3




# import important module
import datetime
from datetime import datetime
  
# Create datetime string
datetime_str = "32JAN2022102356"
try:
    
    # call datetime.strptime to convert it into
    # datetime datatype
    datetime_obj = datetime.strptime(datetime_str,
                                     "%d%b%Y%H%M%S")
      
    # It will print the datetime object
    print("date time : {}".format(datetime_obj))
except:
    print("You have entered Incorrect Date, please enter a valid date")


Output:

You have entered Incorrect Date, please enter a valid date



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads