Given a time in 12-hour AM/PM format, convert it to military (24-hour) time.
Note: – 12:00:00AM on a 12-hour clock is 00:00:00 on a 24-hour clock.
– 12:00:00PM on a 12-hour clock is 12:00:00 on a 24-hour clock.
Example
- s = ‘12:01:00PM’
Return ’12:01:00′.
- s = ‘12:01:00PM’
Return ’00:01:00′.
Function Description
Complete the timeConversion function in the editor below. It should return a new string representing the input time in 24 hour format.
timeConversion has the following parameter(s):
- string s: a time in 12 hour format
Returns
- string: the time in 24 hour format
Input Format
A single string s that represents a time in 12-hour clock format (i.e.:hh:mm:ssAM or hh:mm:ssPM).
Constraints
- All input times are valid
Sample Input 0
07:05:45PM
Sample Output 0
19:05:45
Time Conversion HackerRank Solution in C
#include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> int main() { /* Enter your code here. Read input from STDIN. Print output to STDOUT */ char timestamp[11] = "\0\0\0\0\0\0\0\0\0\0\0"; int hr=0; scanf("%s", timestamp); if(timestamp[8] == 'P'){ hr = 10*(timestamp[0]-'0')+(timestamp[1]-'0'); if(hr < 12) hr += 12; } else{ hr = 10*(timestamp[0]-'0')+(timestamp[1]-'0'); if(hr == 12) hr = 0; } timestamp[0] = hr/10 + '0'; timestamp[1] = hr%10 + '0'; timestamp[8] = '\0'; timestamp[9] = '\0'; printf("%s", timestamp); return 0; }
Time Conversion HackerRank Solution in C++
#include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> using namespace std; int main() { string s; string h; int hr; cin>>s; hr = ((s[0]-'0')*10)+(s[1]-'0'); if(s[8]=='P'&&s[9]=='M'&& hr ==12) cout<<to_string(hr); else if(s[8]=='P'&&s[9]=='M') cout<<to_string(hr+12); else if(s[8]=='A'&&s[9]=='M'&&hr==12) cout<<"00"; else cout<< s[0]<<s[1]; for(int i =2;i<8;i++) cout<<s[i]; cout<<endl; return 0; }
Time Conversion HackerRank Solution in Java
import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); //07:05:45PM DateFormat inFormat = new SimpleDateFormat( "hh:mm:ssaa"); DateFormat outFormat = new SimpleDateFormat( "HH:mm:ss"); Date date = null; try { date = inFormat.parse(s); }catch (ParseException e ){ e.printStackTrace(); } if( date != null ){ String myDate = outFormat.format(date); System.out.println(myDate); } } }
Time Conversion HackerRank Solution in Python
import re time = raw_input() times = re.search(r"(?P<hh>..):(?P<mm>..):(?P<ss>..)(?P<ampm>..)", time) hour = times.group('hh') if times.group('ampm') == 'PM': if hour == '12': hr = '12' else: hr = str(int(hour) + 12) else: if hour == '12': hr = '00' else: hr = hour print hr + ':' + times.group('mm') + ':' + times.group('ss')
Time Conversion HackerRank Solution in C#
using System; using System.Collections.Generic; using System.IO; class Solution { static void Main(String[] args) { /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution */ Console.WriteLine(DateTime.Parse(Console.ReadLine()).ToString("HH:mm:ss")); } }
Attempt – Time Conversion HackerRank Challenge
Link: https://www.hackerrank.com/challenges/time-conversion
Aayush Kumar Gupta is the founder and creator of ExploringBits, a website dedicated to providing useful content for people passionate about Engineering and Technology. Aayush has completed his Bachelor of Technology (Computer Science & Engineering) from 2018-2022. From July 2022, Aayush has been working as a full-time Devops Engineer.
public static String timeConversion(String s) {
String ampm = s.substring(s.length()-2, s.length()-1);
StringBuffer sb = new StringBuffer(s.substring(0, s.length()-2));
int start = Integer.parseInt(s.substring(0, 2));
if(s.contains(“P”)){
String sb1 = start == 12 ? “12”: “”+(start+12);
sb.replace(0, 2, “” +sb1);
System.out.println(sb);
} else {
String sb1 = start == 12 ? “00”: start > 9? “”+start: “0” +start;
sb.replace(0, 2, “” +sb1);
System.out.println(sb);
}
return sb.toString();
}
}