Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

125004102

Jayasakthi S

EXERCISE 8- Date and Time

from datetime import datetime, timedelta

invoice_date_str = input("Enter the invoice date (YYYY-MM-DD): ")

invoice_date = datetime.strptime(invoice_date_str, '%Y-%m-%d')

due_date = invoice_date + timedelta(days=30)

current_date = datetime.now()

days_overdue = (current_date - due_date).days

print(f"Invoice Date: {invoice_date.strftime('%Y-%m-%d')}")


print(f"Due Date: {due_date.strftime('%Y-%m-%d')}")
print(f"Days Overdue: {days_overdue} days")

import time
from datetime import datetime

class Timer:
def __init__(self):
self.is_running = False
self.start_time = None
self.stop_time = None

def start(self):
if not self.is_running:
self.is_running = True
self.start_time = datetime.now()
print("Start time:", self.start_time)

def stop(self):
if self.is_running:
self.is_running = False
self.stop_time = datetime.now()
print("Stop time:", self.stop_time)

def calculate_elapsed_time(self):
if self.start_time is not None and self.stop_time is not None:
elapsed_time = self.stop_time - self.start_time
print("ELAPSED TIME")
print("Time:", elapsed_time)

if __name__ == "__main__":
timer = Timer()

input("The Timer program\nPress Enter to start...")


timer.start()

input("Press Enter to stop...")


timer.stop()

timer.calculate_elapsed_time()
3

import datetime

def calculate_nightly_rate(arrival_date):
peak_months = [4, 5, 8, 9]
if arrival_date.month in peak_months:
return 105
else:
return 85

def main():
while True:
try:
arrival_date_str = input("Enter arrival date (YYYY-MM-DD): ")
departure_date_str = input("Enter departure date (YYYY-MM-DD): ")

arrival_date = datetime.datetime.strptime(arrival_date_str, "%Y-%m-%d")


departure_date = datetime.datetime.strptime(departure_date_str, "%Y-%m-%d")

if arrival_date > departure_date:


raise ValueError("Invalid date range. Arrival date should be before departure date.")

nightly_rate = calculate_nightly_rate(arrival_date)
total_nights = (departure_date - arrival_date).days
total_price = nightly_rate * total_nights

print("Arrival Date:")
print(arrival_date.strftime("%B %d, %Y"))
print("Departure Date:")
print(departure_date.strftime("%B %d, %Y"))
print(f"Nightly rate: Rs {nightly_rate}")
print(f"Total nights: {total_nights}")
print(f"Total price: Rs {total_price}")

continue_option = input("Continue? (y/n): ")


if continue_option.lower() != 'y':
break

except ValueError as e:
print(f"Error: {e}")
continue
if __name__ == "__main__":
main()

You might also like