我正在创建一个C#表单应用程序,并且该应用程序需要是某种类型的输入框,供用户输入格式为hh:mm:ss的时间。这也需要能够进行验证,以便用户不能输入除数字以外的任何内容,但也需要进行验证,以使小时必须介于0-60之间,0-60之间的分钟介于0-60之间。
有人建议使用三个不同的文本框(一个小时,分钟和秒),但对我来说,这似乎过时而且比它的验证更麻烦。
我需要能够使用一个语句基本上说if time is below 24:00:00, do x
我是否正确地假设DateTime
在这种情况下最好?我问,因为我之前从未真正使用DateTime
,所以我不是100%肯定,只是阅读它。
谢谢。
答案 0 :(得分:3)
如果您乐意依赖第三方库,我建议您使用我维护的日期/时间库:Noda Time。与.NET框架不同,它具有专门用于“没有日期的时间”的类型 - LocalTime
。
您可以使用LocalTimePattern
在LocalTime
和string
表示之间进行转换。
如果您想坚持使用BCL,那么DateTime
或TimeSpan
将工作 - 但这两种类型实际上都没有描述您尝试表示的值