Home Python How to find the system time in Python

How to find the system time in Python

This article seeks to help you find the time at a given point of the system in Python. We will engage the use of python modules to help us realize this.

But why do we need a system time?

Using the current system time is vital for various reasons, ranging from monitoring a program’s performance, information on the network, debugging, and handling random number seeds.

We will break down various approaches to getting the current time of your desired system. These approaches include:

  • time module
  • datetime module

Before we begin, you need to understand the various ways you can test the concepts herein. The first case is running the code directly on the python terminal. The second approach puts the same code in a script that ends in .py and uses python to trigger it. For instance, if my script is in a file called date_time.py, then I will initiate the process by opening a terminal if you are on Linux or Ubuntu and CMD on windows. Then, navigate to the location of the script. Subsequently, run your script, as shown below.

Python3 date_time.py

or

Python date_time.py

if you are not using python 3.0 +

All our demonstrations will use the first approach, where we run the code on a python terminal. To have a similar working environment, open the terminal and run the command python3 or python depending on the python version. You should get a window similar to the one below. If you do, then you are ready. Thumbs up!!

python terminal
python terminal

Using the Time Module to find the System’s current Time

  • importing the time module
  • calling the localtime()
  • storing the output in a variable, system_time
    -display the system time
import time

print(time.time())
current_system_time = time.localtime(time.time())
print("current system time :", current_system_time )
Using the Time Module to find the System's current Time
Using the Time Module to find the System’s current Time

In the output above, the resultant output of time.time() refers to the count of seconds passed from 1 January 1970.

On the other end, the output from localtime() is not intuitive and needs to be formatted to easily read and understand. The subsequent section seeks to help you present the latter time in a format that is easily understandable.

import time

# approach one
current_system_time_1 = time.asctime(time.localtime(time.time()))
print("\n Output from Asctime function: ", current_system_time_1)

# approach two
current_system_time_2 = time.ctime(time.time())
print("\n Output from Ctime function :", current_system_time_2)

localtime()  system time formatting
localtime() system time formatting

Using the datetime Module to Find the Current System Time

Next, we demonstrate how to find the current system time using the datetime module using examples. datetime module does not require you to install it externally because it is built into Python. Also, note that the datetime module works for dates and time.

Procedure

  • import the module, datetime
  • call the datetime now() method as follows
datetime.now()

the returned system time is then stored in a variable called current_system_time as follows

current_system_time = datetime .datetime.now()
  • Display the final results as shown
print(“The current System Time :”, current_system_time )

complete code that uses datetime module to find the current system time

Example 1: The current System Time

import datetime

current_system_time = datetime.datetime.now()
print("The current System Time :", current_system_time )
Using datetime Module to Find the Current System Time
Using datetime Module to Find the Current System Time

According to the output shown above, the current system time appears in the format of YYY-HH-MM-MS.

Note that we can modify the above output to different formats that suit our needs. The module datetime has this capability, and we will illustrate this below.

import datetime

current_system_time= datetime.datetime.now()

print("\nCurrent System Time : ", current_system_time )
print(current_system_time .strftime("\nHH(12H)-MM-SS-PM/AM %I:%M:%S %p")+"\n")
print(current_system_time .strftime("YYYY-MM-DD-%Y-%m-%d HH-MM-SS-%H:%M:%S")+"\n")
print(current_system_time .strftime("Day = %a,Month = %b, Date = %d,Year = %Y")+"\n")
print(current_system_time .strftime("HH-MM-SS %H:%M:%S")+"\n")
print(current_system_time .strftime("YYYY-MM-DD %Y/%m/%d")+"\n")
datetime formatting
datetime formatting

Getting Different Date Time Attributes

There is the various date and time attributes available at your disposal. These include getting the date, year or month of the current date. To help you master this, we have an illustration below.

import datetime

current_system_time = datetime.datetime.now()

print ("\nMicrosecond is: %d" % current_system_time.microsecond)
print ("Second is: %d" % current_system_time.second)
print ("Minute is: %d" % current_system_time.minute)
print ("Hour is: %d" % current_system_time.hour)
print ("Day is: %d" % current_system_time.day)
print ("Month is: %d" % current_system_time.month)
print ("Year is: %d" % current_system_time.year)
Getting Different Date Time Attributes
Getting Different Date Time Attributes

Example 2: formatting the date today

from datetime import date

date_today = date.today()
print("The date today is :", date_today )
date today using datetime module in python
date today using datetime module in python

The datetime module has diverse options to enable us to format the date today in the way that best suits our scenario. Let’s use the example above to illustrate this.

import datetime

date_time = datetime.datetime.now()

print ("\nThe current date and time is = %s" % date_time)
print ("\nThe time now is : = %s:%s:%s" % (date_time.hour, date_time.minute, date_time.second))
print ("\nThe date today is: = %s/%s/%s" % (date_time.day, date_time.month, date_time.year) +"\n")
Example 2:  formatting the date today
Example 2: formatting the date today

How to get time for a specific timezone:

The method now() in the datetime module takes timezone as the input to output the time for the specified timezone. We will use the pytz library to define the different timezones.

If you do not have the pytz library already installed in your system, we recommend doing so. The easiest way to install pytz library in ubuntu or any Debian distro for that matter is:

tuts@fosslinux:~$ pip3 install pytz
installing pytz ubuntu
installing pytz ubuntu

Just ensure that you have pip3 also installed. In case you do not have it, run the following command.

tuts@fosslinux:~$ sudo apt-get install python3-pip

Example of using pytz to show the current system time for different timezones

# Example 1

import datetime
import pytz

# get current time using now()
current_system_time = datetime.datetime.now(pytz.timezone('US/Eastern'))

print ("The current system time in US is : ")
print (current_system_time )
Example 1: How to get time for a specific timezone
Example 1: How to get time for a specific timezone
# Example 2
import datetime
import pytz

# specify timezone
london_time_zone = pytz.timezone('Europe/London')

# get current time using now()
london_date_time = datetime.datetime.now(london_time_zone )
print("Time Now in London: ", london_date_time.strftime("%H:%M:%S"))
Example 2: How to get time for a specific timezone
Example 2: How to get time for a specific timezone

How to Convert Timestamps to Date and Time

Timestamps are mostly used in databases, protocols and applications. These timestamps follow the computer system way of representing time. The latter relies on the count of seconds since 1st January 1970. The Unix epoch has the format 00:00:00 UTC.

We use the time library to generate the current system timestamp and illustrate how you get dates and time from the timestamp, as shown below.

import time

print(time.time())

We will then use the datetime function fromtimestamp() to convert timestamp to a datetime object as follows:

Example 1:

import time
from datetime import datetime

my_timestamp= time.time()
print(datetime.fromtimestamp(my_timestamp))
Example 1: How to convert Timestamps to Date and Time
Example 1: How to convert Timestamps to Date and Time

Example 2:

import time
from datetime import datetime, timezone

my_timestamp= time.time()
print(datetime.fromtimestamp(my_timestamp, timezone.utc))
Example 2: How to Convert Timestamps to Date and Time
Example 2: How to Convert Timestamps to Date and Time

How to convert Date and Time to Timestamps

timestamp() function is crucial when you need to convert a datetime object to a timestamp. The example below illustrates how you can achieve this simply.

from datetime import timezone, datetime

date_time_object= datetime.now(timezone.utc)
print("\n Before conversion : datetime object \n")
print(date_time_object)

print("\n After conversion: Timestamp \n")
print(date_time_object.timestamp())
How to convert Date and Time to  Timestamps
How to convert Date and Time to Timestamps

Conclusion

The article has been all about finding the various ways of getting the current system time in Python and the various dynamic approaches to format it to suit our needs, and the varied scenarios we face day-in-day-out.

In case you have a different approach from what we have shared, we would be glad to accommodate it.

You may also like

Leave a Comment

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More