Create method for 24 hour time format

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • AnonymousDev100
    New Member
    • Dec 2021
    • 2

    Create method for 24 hour time format

    Important Note: I am not allowed to Use TimeSpan

    I am trying to create C# method with two int arguments

    Code:
    public void Time(int hours, int minutes)
    which satisfies all the following Test Cases:

    Time(11, 7), returns: "11:07"
    Time(24, 0), returns: "00:00"
    Time(26, 0), returns: "02:00"
    Time(0, 160), returns "02:40" (since 160 minutes = 2 hours and 40 minutes)
    Time(-1, 0), returns: "23:00" (negative number - counterclockwis e)
    Time(1, -40), returns: "00:20"
    Time(-25, -160), returns: "20:20"
  • SioSio
    Contributor
    • Dec 2019
    • 272

    #2
    Here is an example that does not use any time-related functions.
    Code:
    			int h_div, h_rm, m_div, m_rm, i = 0;
    			while(minutes < 0){
    				minutes = minutes + 60;
    				i++;
    			}
    			hours = hours - i;
    			while(hours < 0) hours = hours + 24;
    			m_div = Math.DivRem(minutes, 60, out m_rm);
    			h_div = Math.DivRem(hours + m_div, 24, out h_rm);
    			Console.WriteLine(String.Format("{0:D2}:{1:D2}", h_rm, m_rm));

    Comment

    • cactusdata
      Recognized Expert New Member
      • Aug 2007
      • 223

      #3
      You can use DateTime and a one-liner:

      Code:
      int hours = -25;
      int minutes = -160;
      
      string textTime = DateTime.Today.AddHours(hours).AddMinutes(minutes).ToString("HH:mm");
      
      Console.WriteLine(textTime);

      Comment

      Working...