I'm receiving the hours, minutes, and seconds as an integer user input.
Now, when I try and use DateTime.Parse and DateTime.TryParse AND Convert.ToDateTime, they all return the correct hours/minutes/seconds; however, it also returns the date (year, month, day and so on.)
string a = this.hours.ToString() + ":" + this.minutes.ToString() + ":" + this.seconds.ToString();
this.alarm = new DateTime();
this.alarm = DateTime.ParseExact(a, "H:m:s", null);
Let's say that hours is 05, minutes is 21 and seconds is 50. "a" would be 05:21:50. I would expect "alarm" to be 05:21:50. However, it actually is (may be):
11/23/10 05:21:50
Is there any way to make it work right? Thanks in advance.
A DateTime instance will always include some Date information.
If you're trying to represent just the time of day, you should use TimeSpan (with the TimeSpan representing the span since midnight...or the time of day. You'll also notice that the DateTime.TimeOfDay property does the same thing).
The code would be similar:
var timeOfDay = TimeSpan.ParseExact(a, "H:m:s", null);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With