Problem Statement
Computers tend to store dates and times as single numbers which represent the number of seconds or milliseconds since a particular date. Your task in this problem is to write a method whatTime, which takes an int, seconds, representing the number of seconds since midnight on some day, and returns a String formatted as "<H>:<M>:<S>". Here, <H> represents the number of complete hours since midnight, <M> represents the number of complete minutes since the last complete hour ended, and <S> represents the number of seconds since the last complete minute ended. Each of <H>, <M>, and <S> should be an integer, with no extra leading 0's. Thus, if seconds is 0, you should return "0:0:0", while if seconds is 3661, you should return "1:1:1".
Definition
Class: Time
Method: whatTime
Parameters: int
Returns: String
Method signature: String whatTime(int seconds)
Constraints
seconds will be between 0 and 24*60*60 - 1 = 86399, inclusive.
Examples
0)
0
Returns: "0:0:0"
1)
3661
Returns: "1:1:1"
2)
5436
Returns: "1:30:36"
3)
86399
Returns: "23:59:59"
(be sure your method is public)
Source code
#include<iostream>
using namespace std;
#include<string.h>
class Time
{
public:
string whatTime(int seconds)
{
int h = seconds/3600;
int m = seconds/60%60;
int s = seconds%60;
char str[64];
sprintf(str, "%d:%d:%d",h,m,s);
string ret = str;
// cout<<str<<endl;
return ret;
}
};
void main()
{
Time time;
// time.whatTime(0);
// time.whatTime(3661);
// time.whatTime(5436);
time.whatTime(86399);
}