Open In App

How to Convert DateTime to UNIX Timestamp in Python ?

Improve
Improve
Like Article
Like
Save
Share
Report

The Unix timestamp is a single signed integer that grows by one every second, allowing computers to store and manipulate conventional date systems. The software is then translated into a human-readable format. The Unix timestamp is the number of seconds calculated since January 1, 1970. In this article, we are going to see how to convert DateTime to Unix timestamp.

DateTime to Unix timestamp

For converting Python DateTime to Unix timestamp, we’ve imported a module called datetime and time in this example, and the variable date_time has been declared and assigned datetime. time/date (2021, 7, 26, 21, 20). The year is 2021, the month is 7, the day is 26, the hour is 21, and the minute is 20.

Code:

Python3




# importing datetime module
import datetime
import time
 
# assigned regular string date
date_time = datetime.datetime(2021, 7, 26, 21, 20)
 
# print regular python date&time
print("date_time =>",date_time)
 
# displaying unix timestamp after conversion
print("unix_timestamp => ",
      (time.mktime(date_time.timetuple())))


Output:

date_time => 2021-07-26 21:20:00
unix_timestamp =>  1627314600.0

Explanation:

Date and time manipulation classes are provided by the datetime module. The inverse function of local time is mktime(). It accepts a struct time or a full 9-tuple as an argument and returns a floating-point number to be compatible with time (). It is also used to convert a datetime to a Unix timestamp.

The timetuple() method of datetime.date objects return a time object.struct time. The struct time object is a named tuple that may be retrieved using either an index or by name. The year, month, and day fields of the named tuple returned by the timetuple() function will be set according to the date object, while the hour, minutes, and seconds fields will be set to zero.

DateTime to Unix timestamp with 13 digits

To obtain the current time, use datetime.now(). The timetuple() function of the datetime class returns the datetime’s properties as a named tuple. The timestamp with 13 digits must be multiplied by 1000.

Code:

Python3




import time
import datetime
 
presentDate = datetime.datetime.now()
unix_timestamp = datetime.datetime.timestamp(presentDate)*1000
print(unix_timestamp)


Output:

1628497724509.293

DateTime to Unix timestamp in UTC Timezone

The calendar module provides helpful calendar-related functions. The utc.now function returns the current time in the UTC timezone. In the time module, the timegm function returns a Unix timestamp. The timetuple() function of the datetime class returns the datetime’s properties as a named tuple. To obtain the Unix timestamp, use print(UTC).

Code:

Python3




import calendar
import datetime
 
date = datetime.datetime.utcnow()
utc_time = calendar.timegm(date.utctimetuple())
print(utc_time)


Output:

1628497783

DateTime to Unix timestamp milliseconds

The datetime.now() function is used to obtain the current time. The mktime method is a time method that is the inverse function of local time; it is used to convert datetime to Unix timestamp milliseconds. The timetuple() function of the datetime class returns the datetime’s properties as a named tuple. To obtain the time in milliseconds, multiply it by 1000.

Code:

Python3




import datetime
import time
 
ms = datetime.datetime.now()
print(time.mktime(ms.timetuple()) * 1000)


Output:

1628497823000.0

Datetime.date to Unix timestamp

time.date() is a function that accepts just dates. In this case, 2021 is the year, 8 is the month, and 6 is the day. mktime() is a time method that is the inverse function of local time; it is used to convert dates to Unix timestamps.

Code:

Python3




import datetime
import time
 
my_datetime = datetime.date(2021, 8, 6)
print("Unix_Time: ",
      (time.mktime(my_datetime.timetuple())))


Output:

Unix_Time:  1628188200.0

DateTime string to Unix timestamp

The date and time are supplied in string format in this case. Here, 8 denotes the month, 6 denotes the day, 2021 denotes the year, 05 denotes the hour, 54 denotes the minute, and 8 denotes the second. strptime() is a datetime module method that is used to convert strings to datetime and time objects. The timestamp() function returns the current time in the current location.

Code:

Python3




import datetime
 
date_example = "8/6/2021, 05:54:8"
date_format = datetime.datetime.strptime(date_example,
                                         "%m/%d/%Y, %H:%M:%S")
unix_time = datetime.datetime.timestamp(date_format)
print(unix_time)


Output:

1628209448.0

Unix timestamp to Python DateTime

The DateTime module in Python is used to deal with date and time-related issues in Python. The fromtimestamp() method is one of the functions included in this module. The date class’s function fromtimestamp() computes and returns the date corresponding to a specified timestamp. The allowed timestamp range extends from 1970 to 2038. If there are any leap seconds in the timestamp, the fromtimestamp() function ignores them.

To begin with, we import the datetime class from the datetime module. The UNIX value object is then stored in a variable. Then we use the datetime.fromtimestamp() method to retrieve the time and date.  

The strftime() function is another function in the datetime module. This function aids in the return of a DateTime in a particular format. This function is used to convert date and time objects to string representations. The format codes in the above code are %d, %m, %Y, %H, %M, and %S, which indicate days, months, years, hours, minutes, and seconds, respectively.

Code:

Python3




# importing datetime module
import datetime
 
# assigned unix time
unix_time = 1627334400
 
date_time = datetime.datetime.fromtimestamp(unix_time)
 
# print unix time stamp
print("Unix_Time =>",unix_time)
 
# displaying date and time in a regular
# string format
print("Date & Time =>" ,
      date_time.strftime('%Y-%m-%d %H:%M:%S'))


Output:

Unix_Time => 1627334400
Date & Time => 2021-07-27 02:50:00


Last Updated : 19 Feb, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads