In this short tutorial, we look at what is Timestamp in Python. We will understand the different ways to get the timestamp and convert timestamp to date and time.
Table of contents
- What is timestamp in Python?
- Ways to get current timestamp
- Using calendar Module
- Using time Module
- Using datetime Module
- Convert timestamp to date and time
- Closing thoughts
What is timestamp in Python?
Timestamp is the date and time of occurrence of an event. In Python we can get the timestamp of an event to an accuracy of milliseconds. The timestamp format in Python returns the time elapsed from the epoch time which is set to 00:00:00 UTC for 1 January 1970.
Ways to get current timestamp in Python
There are three modules in Python, using which, we can get the timestamp. These are-
- calendar
- time
- datetime
Let us see these methods one by one.
Using calendar Module
In Python, the calendar module provides various functions related to calendar. In this module, the function calendar.timegm() returns the current time in the timestamp format. Let us understand this through the following example.
Syntax:
calendar.timegm(tuple)
Example:
import calendar
import time
current_GMT = time.gmtime()
time_stamp = calendar.timegm(current_GMT)
print("Current timestamp:", time_stamp)
Output:
Current timestamp: 1647838478
Here, we import the modules calendar and time. We then get the current GMT time in a tuple format and save that to the current_GMT field. The calendar.timegm(current_GMT) function gets the current timestamp. Finally, we print the value saved in the current_GMT field.
In this way, we can use the calendar module in Python to get the timestamp. Now let us look at the time module method.
Using time Module
The time() function of the time module in Python gives the current time in timestamp format. To see how this works, let us go through the example below.
Syntax:
time.time()
Example:
import time
time_stamp = time.time()
print("Timestamp:", time_stamp)
Output:
Current timestamp: 1625309785.482347
In this case, we first import the time module in Python. We create a field time_stamp to save the output of the time.time() function which gives the current timestamp. This output time is in seconds as the epoch is a floating-point number.
Using datetime Module
In Python, the datetime module provides classes for manipulating dates and times. Using this module's datetime() function, we can get the current timestamp. Below is the syntax and an example to understand this better.
Syntax:
datetime.now()
Example:
import datetime;
current_time = datetime.datetime.now()
time_stamp = current_time.timestamp()
print("timestamp:-", time_stamp)
Output:
Current timestamp: 1625309785.482347
In the example above, we have first imported the datetime module. We then store the current time in the variable current_time using the function datetime.datetime.now(). We then obtain the timestamp using the function current_time.timestamp() and print the final value.
Convert timestamp to date and time
As we have seen in the time, datetime and calendar module methods to return the current timestamp, the output is a floating number which cannot be understood on reading. This, we need to convert this to a date and time format, in order to make it easy to understand for us. This can be done with the fromtimestamp() method.
Syntax:
datetime.fromtimestamp(timestamp, tz=None)
Example:
from datetime import datetime
time_stamp = 1617295943.17321
date_time = datetime.fromtimestamp(time_stamp)
print("The date and time is:", date_time)
Output:
The date and time is: 2021-04-01 16:52:23.173210
Thus, the time corresponding to the epoch timeline, as returned in the time and calendar module methods we saw, is converted into an understandable format of date and time. In the function datetime.fromtimestamp(timestamp, tz=None), t stands for Time and z stands for the Zero timezone which represents the offset from the coordinated universal time(UTC). We set the tz=none as we don't want the timestamp to converted the platform’s local date and time, and the returned datetime object to be naive.
We can convert this output to a string as well for more convenience. Let us look at the method to do this.
Example1:
from datetime import datetime
timestamp = 1625309472.357246
date_time = datetime.fromtimestamp(timestamp)
str_date_time = date_time.strftime("%d-%m-%Y, %H:%M:%S")
print("Current timestamp", str_date_time)
Output:
Current timestamp 03-07-2021, 10:51:12
In the above example, we have converted the timestamp from floating numbers to a DD-MM-YY, HH:MM:SS format. This is done using the date_time.strftime() function and specifying the format.
Example2:
from datetime import datetime
timestamp = 1625309472.357246
date_time = datetime.fromtimestamp(timestamp)
str_date = date_time.strftime("%d %B, %Y")
print("Current timestamp", str_date)
Output:
Current timestamp 03 July, 2021
Here, the format to which we convert the timestamp is DD Month_name, YYYY. The steps to convert the timestamp remains the same, we have just changed the format to display it.
Example3:
from datetime import datetime
timestamp = 1625309472.357246
date_time = datetime.fromtimestamp(timestamp)
str_time = date_time.strftime("%I%p %M:%S")
print("Current timestamp", str_time)
Output:
Current timestamp 10AM 51:12
The example above returns the timestamp in the format HH:AM/PM MM:SS. Thus, the current timestamp can be converted to different formats as per our requirement.
Closing Thoughts
In this tutorial, we understood what timestamp is. We saw how to get a current timestamp in Python and convert it to different date and time formats. Among the two methods we have seen, the time module method is an easy way to get the timestamp. However, it is important to convert the timestamp to a date and time format to understand the floating value output.
Top comments (0)