0

我正在创建一个 C# 表单应用程序,并且该应用程序需要是某种输入框,以便用户以 hh:mm:ss 格式输入时间。这还需要能够验证,以便用户不能输入除数字以外的任何内容,还需要验证小时必须在 0-24 之间,分钟必须在 0-60 之间,秒必须在 0-60 之间。

有人建议使用三个不同的文本框(一个用于小时、分钟和秒),但对我来说,这似乎是陈旧的,而且比验证更麻烦。

我需要能够用一个语句来基本上说if time is below 24:00:00, do x

我是否正确地假设DateTime在这种情况下会是最好的?我问是因为我不是 100% 确定,因为我以前从未真正使用DateTime过,只是阅读它。

谢谢你。

4

1 回答 1

3

如果您愿意依赖 3rd 方库,我建议使用我维护的日期/时间库:Noda Time。与 .NET 框架不同,它有一个专门用于“没有日期的时间”的类型 - LocalTime.

您可以使用 a在 a和表示LocalTimePattern之间进行转换。LocalTimestring

如果您想坚持使用 BCL,那么 要么 要么DateTimeTimeSpan工作-但两种类型都没有真正描述您试图代表的价值类型。

于 2013-10-29T16:50:47.863 回答