Advertisement
Guest User

Untitled

a guest
Nov 26th, 2014
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.39 KB | None | 0 0
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. int hours, minutes = 0, seconds = 0;
  4. var isValidInput = int.TryParse(HoursTextBox.Text, out hours) &&
  5. int.TryParse(MinutesTextBox.Text, out minutes) &&
  6. int.TryParse(SecondsTextBox.Text, out seconds);
  7. if (hours >= 24 || minutes >= 60 || seconds >= 60)
  8. {
  9. label1.Text = "Please type in proper values.";
  10. }
  11. else if (hours == 0 && minutes == 0 && seconds >= 30)
  12. {
  13. label1.Text = "The traditional time is 12:01 AM.";
  14.  
  15. }
  16. else if (hours == 23 && minutes == 59 && seconds >= 30 || hours == 0 && minutes == 0 && seconds >= 0)
  17. {
  18. label1.Text = "The traditional time is 12:00 AM.";
  19.  
  20. }
  21. else if (hours >= 12 && minutes < 10)
  22. {
  23. string X = ConvertTime(seconds, minutes, hours).Substring(3,4);
  24. string Y = ConvertTime(seconds, minutes, hours).Substring(0, 3);
  25. label1.Text = "The traditional time is " + Y + "0" + X;
  26. }
  27.  
  28.  
  29. else if (hours < 12 && minutes == 9 && seconds >=30)
  30. {
  31. string Z1 = "";
  32. string X = ConvertTime(seconds, minutes, hours).Substring(2,3);
  33. string Y = ConvertTime(seconds, minutes, hours).Substring(0, 2);
  34. int Z = hours;
  35. if (Z > 12 )
  36. {
  37. Z1 = "PM";
  38. }
  39. else if (Z < 12)
  40. {
  41. Z1 = "AM";
  42. }
  43.  
  44.  
  45. label1.Text = "The traditional time is " + Y + X + Z1;
  46. }
  47. else if (hours < 12 && minutes <10)
  48. {
  49. string X = ConvertTime(seconds, minutes, hours).Substring(2, 4);
  50. string Y = ConvertTime(seconds, minutes, hours).Substring(0, 2);
  51. label1.Text = "The traditional time is " + Y +"0" + X;
  52. }
  53. else
  54. {
  55. label1.Text = "The traditional time is " + ConvertTime(seconds, minutes, hours);
  56. }
  57. }
  58. private bool DoMinutesRequireRoundUp(int seconds)
  59. {
  60. return seconds >= 30;
  61. }
  62. private bool DoMinutesRoundUpToNextHour(int minutes, bool roundUpMinutes)
  63. {
  64. return roundUpMinutes && minutes == 59;
  65. }
  66. private int GetRoundedMinutes(int minutes, bool roundUpMinutes)
  67. {
  68. if (DoMinutesRoundUpToNextHour(minutes, roundUpMinutes))
  69. {
  70. return 0;
  71. }
  72. if (roundUpMinutes)
  73. {
  74. minutes++;
  75. }
  76. return minutes;
  77. }
  78. private int GetRoundedHours(int hours, bool incrementHours)
  79. {
  80. if (incrementHours)
  81. {
  82. hours++;
  83. }
  84. return hours % 24;
  85. }
  86. private string GetPeriod(int hours)
  87. {
  88. return hours < 12 ? "AM" : "PM";
  89. }
  90. private int Get12HourTime(int hours)
  91. {
  92. return hours <= 12 ? hours : hours - 12;
  93. }
  94. private string ConvertTime(int seconds, int minutes, int hours)
  95. {
  96. var roundUpMinute = DoMinutesRequireRoundUp(seconds);
  97. var incrementHour = DoMinutesRoundUpToNextHour(minutes, roundUpMinute);
  98. var roundedHour = GetRoundedHours(hours, incrementHour);
  99.  
  100. var displayMinutes = GetRoundedMinutes(minutes, roundUpMinute);
  101. var displayHours = Get12HourTime(roundedHour);
  102. var period = GetPeriod(roundedHour);
  103.  
  104. return displayHours.ToString() + ":" + displayMinutes.ToString() + " " + period;
  105. }
  106.  
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement