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, the number of test cases.
Each test case contains lines, representing time and time.
Each test case contains lines, representing time and time.
Constraints
- The input contains only valid timestamps
- .
Output Format
Print the absolute difference 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
Explanation 0
In the first query, when we compare the time in UTC for both the time stamps, we see a difference of 7 hours. which is seconds or seconds.
Similarly, in the second query, the time difference is 5 hours and 30 minutes for time zone adjusting for that we have a difference of 1 day and 30 minutes. Or
Time Delta - Hacker Rank Solution
In this challenge, our goal is the first convert the time stamp to UNIX timestamps that are independent of timezones. After that, we simply subtract and print the difference.
To solve this in python you can use the python package called
datetime
and it has a function called strptime
. Using which we can get a time object.
Refer : datetime.strptime
This tool returns a date-time corresponding to a date string, parsed according to format.
This tool returns a date-time corresponding to a date string, parsed according to format.
from datetime import datetime for i in range(int(input())): t1 = datetime.strptime(input(), '%a %d %b %Y %H:%M:%S %z') t2 = datetime.strptime(input(), '%a %d %b %Y %H:%M:%S %z') print(abs(int((t1-t2).total_seconds())))
A much more apt solution. Thanks!
ReplyDelete