Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void button1_Click(object sender, EventArgs e)
- {
- int hours, minutes = 0, seconds = 0;
- var isValidInput = int.TryParse(HoursTextBox.Text, out hours) &&
- int.TryParse(MinutesTextBox.Text, out minutes) &&
- int.TryParse(SecondsTextBox.Text, out seconds);
- if (hours >= 24 || minutes >= 60 || seconds >= 60)
- {
- label1.Text = "Please type in proper values.";
- }
- else if (hours == 0 && minutes == 0 && seconds >= 30)
- {
- label1.Text = "The traditional time is 12:01 AM.";
- }
- else if (hours == 23 && minutes == 59 && seconds >= 30 || hours == 0 && minutes == 0 && seconds >= 0)
- {
- label1.Text = "The traditional time is 12:00 AM.";
- }
- else if (hours >= 12 && minutes < 10)
- {
- string X = ConvertTime(seconds, minutes, hours).Substring(3,4);
- string Y = ConvertTime(seconds, minutes, hours).Substring(0, 3);
- label1.Text = "The traditional time is " + Y + "0" + X;
- }
- else if (hours < 12 && minutes == 9 && seconds >=30)
- {
- string Z1 = "";
- string X = ConvertTime(seconds, minutes, hours).Substring(2,3);
- string Y = ConvertTime(seconds, minutes, hours).Substring(0, 2);
- int Z = hours;
- if (Z > 12 )
- {
- Z1 = "PM";
- }
- else if (Z < 12)
- {
- Z1 = "AM";
- }
- label1.Text = "The traditional time is " + Y + X + Z1;
- }
- else if (hours < 12 && minutes <10)
- {
- string X = ConvertTime(seconds, minutes, hours).Substring(2, 4);
- string Y = ConvertTime(seconds, minutes, hours).Substring(0, 2);
- label1.Text = "The traditional time is " + Y +"0" + X;
- }
- else
- {
- label1.Text = "The traditional time is " + ConvertTime(seconds, minutes, hours);
- }
- }
- private bool DoMinutesRequireRoundUp(int seconds)
- {
- return seconds >= 30;
- }
- private bool DoMinutesRoundUpToNextHour(int minutes, bool roundUpMinutes)
- {
- return roundUpMinutes && minutes == 59;
- }
- private int GetRoundedMinutes(int minutes, bool roundUpMinutes)
- {
- if (DoMinutesRoundUpToNextHour(minutes, roundUpMinutes))
- {
- return 0;
- }
- if (roundUpMinutes)
- {
- minutes++;
- }
- return minutes;
- }
- private int GetRoundedHours(int hours, bool incrementHours)
- {
- if (incrementHours)
- {
- hours++;
- }
- return hours % 24;
- }
- private string GetPeriod(int hours)
- {
- return hours < 12 ? "AM" : "PM";
- }
- private int Get12HourTime(int hours)
- {
- return hours <= 12 ? hours : hours - 12;
- }
- private string ConvertTime(int seconds, int minutes, int hours)
- {
- var roundUpMinute = DoMinutesRequireRoundUp(seconds);
- var incrementHour = DoMinutesRoundUpToNextHour(minutes, roundUpMinute);
- var roundedHour = GetRoundedHours(hours, incrementHour);
- var displayMinutes = GetRoundedMinutes(minutes, roundUpMinute);
- var displayHours = Get12HourTime(roundedHour);
- var period = GetPeriod(roundedHour);
- return displayHours.ToString() + ":" + displayMinutes.ToString() + " " + period;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement