Algorithm


Problem Name: Python - Time Delta

Problem Link: https://www.hackerrank.com/challenges/python-time-delta/problem?isFullScreen=true   

In this HackerRank Functions in PYTHON problem solution,

When users post an update on social media,such as a URL, image, status update etc., other users in their network are able to view this new post on their news feed. Users can also see exactly when the post was published, i.e, how many hours, minutes or seconds ago.

 

Since sometimes posts are published and viewed in different time zones, this can be confusing. You are given two timestamps of one such post that a user can see on his newsfeed in the following format:

 

Day dd Mon yyyy hh:mm:ss +xxxx

 

Here +xxxx represents the time zone. Your task is to print the absolute difference (in seconds) between them.

Input Format

The first line contains T, the number of testcases.
Each testcase contains 2 lines, representing time t1 and time t2.

Constraints

  • Input contains only valid timestamps
  • year <= 3000

Output Format

Print the absolute difference (t1 -t2) in seconds.

Sample Input 0

2
Sun 10 May 2015 13:54:36 -0700
Sun 10 May 2015 13:54:36 -0000
Sat 02 May 2015 19:54:36 +0530
Fri 01 May 2015 13:54:36 -0000

Sample Output 0

25200
88200

 

 

 

 

Code Examples

#1 Code Example with Python Programming

Code - Python Programming


import math
import os
import random
import re
import sys

#import datetime modules
from datetime import date
from datetime import time
from datetime import datetime
from datetime import timedelta

# Complete the time_delta function below.
def time_delta(t1, t2):
    #convert string into datetime object with datetime.strptime(date_time_string_input, format input)
    date1 = datetime.strptime(t1,"%a %d %b %Y %H:%M:%S %z")
    date2 = datetime.strptime(t2,"%a %d %b %Y %H:%M:%S %z")
    #calculate timedelta
    timedelta = date1 - date2
    #convert timedelta to total_seconds
    timedelta = abs(timedelta.total_seconds())
    #format string number of total second
    tdelta = ("{:.0f}".format(timedelta))
    return tdelta

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    t = int(input())

    for t_itr in range(t):
        t1 = input()
        t2 = input()
        delta = time_delta(t1, t2)
        fptr.write(delta + '\n')
    fptr.close()
Copy The Code & Try With Live Editor

Demonstration


Previous
[Solved] Merge the Tools! in PYTHON solution in Hackerrank
Next
[Solved] Find Angle MBC in PYTHON solution in Hackerrank