You can learn about Functions in Python Programs with Outputs helped you to understand the language better.
Python Programming – Date and Time Functions
Classes provide a number of functions to deal with dates, times, and time intervals. Date and DateTime are an object in Python, so when you manipulate them, you are actually manipulating objects and not string or timestamps. Whenever you manipulate dates or times, you need to import the DateTime function. The DateTime module enables you to create the cus¬tom date objects, perform various operations on dates like the comparison, etc. To work with dates as date objects, you have to import the DateTime module into the Python source code.
The concept of Ticks
In Python, the time instants are counted since 12:00 am, January 1, 1970. It is the beginning of an era. and is used to start counting time. This special moment is called an epoch. In Python, the time between the present moment and the special time above is expressed in seconds. That time period is called Ticks. A tick can be seen as the smallest unit to measure the time. The time ( ) function in the time module returns the number of seconds from 12 am on January 1, 1970, to the present.
Demo to calculate the number of ticks using time ( ) function
|# Import time module
import time# prints the number of ticks spent since 12 AM, 1st January 1970
ticks = time.time ( )
print (“Number of ticks since 12:00am, January 1, 1970: “, ticks)RUN
time ( )
To get how many ticks have passed since the epoch, you call the Python time ( ) method.
>>> import time
>>> time . time ( )
A time object instantiated from the time class represents the local time.
Demo of time ( ) function.
|from datetime import time
# time(hour = 0, minute = 0, second = 0)
a = time ( )
print(“a =”, a)
# time(hour, minute and second)
b = time(9, 32, 52)
print(“b =”, b)
# time(hour, minute and second)
c = time(hour = 9, minute = 32, second = 52)
print(“c =”, c)
# time(hour, minute, second, microsecond)
d = time(9, 32, 52, 224565)
print(nd =”, d)RUN
a = 00:00:00
b = 09:32:52
c = 09:32:52
d = 09:32:52.224565
Program to print hour, minute, second and microsecond.
|# Print hour, minute, second and microsecond
from datetime import time
a = time(9, 32, 52)print(“hour =”, a.hour)
print(“minute =”, a.minute)
print(“second =”, a.second)
print(“microsecond =”, a.microsecond)RUN
hour = 9
minute = 32
second = 52
microsecond = 0
Once you create a time object, you can easily print its attributes such as hour, minute, etc. Note that you have not passed the microsecond argument, so, its default value 0 is printed.
local time ( )
local time ( ) returns the current time according to your geographical location, in a more readable format. Consider the following example.
Demo of localtime ( ) function.
#returns a time tuple
asctime ( )
The time can be formatted by using the asctime ( ) function of the time module. It returns the formatted time for the time tuple being passed.
>>> import time
>>> time.asctime ( )
‘Sun Jun 16 11:18:09 2019’
clock ( )
It returns the number of seconds elapsed since the first call made to it. It returns the value as a floating number.
>>> time.clock ( )
>>> time.clock ( )
sleep ( )
The sleep ( ) method of time module is used to stop the execution of the script for a given amount of time. The output will be delayed for a number of seconds. Consider the following example.
Demo of sleep ( ) function.
for i in range(0,5):
#Each element will be printed after 2 second
now ( )
The now ( ) method to create a DateTime object containing the current local date and time. The date contains the year, month, day, hour, minute, second, and microsecond.
Demo of now ( ) function.
|# Get Current Date and Time
import datetime;#returns the current datetime objectprint(datetime.datetime.now())
today ( )
today ( ) method defined in the date class to get a date object containing the current local date.
Demo of today ( ) function.
|# Get Current Date
Demo of today ( ) function.
|# Print today’s year, month and day
from datetime import date
today = date.today ( )
print(“Current year:”, today.year)
print(“Current month:”, today.month)
print(“Current day:”, today.day)RUN
Current year: 2019
Current month: 6
Current day: 16
date ( )
The date() is a constructor of the date class. It takes three arguments: year, month, and day.
Demo of date ( ) function.
|# Date object to represent a date
d = datetime.date(2019, 7, 12)
dir ( )
The dir ( ) function to get a list containing all attributes of a module.
Demo of dir ( ) function.
[‘MAXYEAR’, ‘ M INYEAR’ , ‘ built ins ‘ , ‘ cached ‘ loader me_CAPI’, ‘ ‘, ‘ name ‘, ‘ package ‘, time’, ‘timedelta’, ‘timezone’ ‘ spec ‘, ‘ ‘tzinfo’]
timestamp ( )
You can also create date objects from a timestamp. You can convert a timestamp to date using from timestamp ( ) function.
Demo of timestamp ( ) function.
|from datetime import date
Date : 2021-07-14
strftime ( )
The strftime ( ) method takes one or more format codes and returns a formatted string based on it. A reference of some format codes are used in following example:
Demo of strftime ( ) function.
x = datetime.datetime . now ( )
print(x.strftime(“%a”) ) #Weekday, short version i.e. Sun
print(x.strftime(“%A”) ) #Weekday, full version i.e. Sunday
print(x.strftime(“%w”) ) #Weekday as a number 0-6 i.e. 0
print(x.strftime(“%d”) ) #Day of month 01-31 i.e. 16
print(x.strftime(“%b”) ) #Month name, short version i.e. Jun
print(x.strftime(“%B”) ) #Month name, full version i.e. June
print(x.strftime(“%m”) ) #Month as a number 01-12 i.e. 06
print(x.strftime(“%y”) ) #Year, short version, without century i.e. 19
print(x.strftime(“%Y”) ) #Year, full version i.e., 2019
print(x.strftime(“%H”) ) #Hour 00-23 i.e. 11
print(x.strftime(“%I”) ) #Hour 00-12 i.e. 11
print(x.strftime(“%p”) ) #AM/PM i.e. AM
print(x.strftime(“%M”) ) #minute 00-59 i.e. 02
print(x.strftime(“%S”) ) #second 00-59 i.e. 59
print(x.strftime(‘%c”) ) #Local version of date and time i.e. sun Jun 16 11 : 02 : 59 2019
print(x.strftime(‘”%x”)) #Local version of date i.e. 06/16/19
print(x.strftime(“%X”)) #Local version of time i.e. 11:02:59RUN
Sun Jun 16 11:02:59 2019
Demo of Date Arithmetic.
today = datetime.date.today ( )
print(‘Today :’, today)
oneday = datetime.timedelta(days=1)
print(‘One day :’, one_day)
yesterday = today – one_day
print (‘Yesterday:’, yesterday)
tomorrow = today + one_day
print (‘Tomorrow :’, tomorrow)RUN
Today : 2019-06-16
One day : 1 day, 0:00:00
Tomorrow : 2019-06-17
The calendar module
Python provides a calendar object that contains month ( ) function.
|#Program to print the calendar of July 2019
Mo Tu We Th Fr Sa Su
1 2 3 4
5 6 7 8 9 10
11 12 13 14 15 16
17 18 19 20 21 22
23 24 25 26 27 28
29 30 31
You can also print the calendar for the whole year. The partial ( ) method of the calendar module is used to print the calendar of the whole year. (See Figure 10.58).
# Printing the calendar of whole year
#printing the calendar of the year 2019
isleap ( )
The isleap ( ) takes a 4-digit year as an argument, and returns True if it is a leap year. Otherwise, False.
The leapdays ( ) returns the total number of leap days from year yl to year y2.
firstweekday ( )
The firstweekday ( ) returns which day is currently set as the first day of the week.
>>> calendar.firstweekday ( )
Recursion is the process of defining something in terms of itself. A physical world example would be to place two parallel mirrors facing each other. Any object in between them would be reflected recursively. You know that in Python, a function can call other functions. It is even possible for the function to call itself. These types of the construct are termed recursive functions.
For example, the factorial of 5 (denoted as 5!) is 1*2*3*4*5 = 120 is a recursive function to find the factorial of an integer. The factorial function is widely used in the combinatorial analysis (counting theory in mathematics), probability theory, and statistics. The factorial of n usually is expressed as n!. Factorial is defined as non-negative integers.
Program to find factorial using recursion
if x == 1:
return (x * calc_fact(x-1))num = 5
print(“The factorial of”, num, “is”, calcfact(num))RUN
The factorial of 5 is 120
In the above example, calc_fact ( ) is a recursive function as it calls itself. When you call this function with a positive integer, it will recursively call itself by decreasing the number. Each function calls multiples the number with the factorial of number 1 until the number is equal to one. The recursion ends when the number reduces to 1, which is called the base condition. Every recursive function must have a base condition that stops or terminates the recursion or else the function calls itself infinitely.
Program to find the power of a number using recursion.
|# To find the power of a number using recursion
base = int(input(“Enter base: “))
exp = int(input(“Enter exponential value: “))
Enter base: 4
Enter exponential value: 3
In the above example, power ( ) is a recursive function as it calls itself. When a user enters the base and exponential value, the numbers are passed as arguments to a recursive function to find the power of the number. The base condition is given that if the exponential power is equal to 1, the base number is returned. If the exponential power is not equal to 1, the base number multiplied with the power function is called recursively with the arguments as the base and power minus 1 and the final result is printed.
Advantages of Recursion
- Recursive functions make the code look clean and refined.
- A complex task can be broken down into simpler sub-problems using recursion.
- Sequence generation is easier with recursion than using some nested iteration
Disadvantages of Recursion
- Sometimes the logic behind recursion is difficult to follow through.
- Recursive calls are expensive (inefficient) as they take up a lot of memory and time.
- Recursive functions are hard to debug.