在客户端,我正在验证将被推送到 .NET 框架的字符串,我需要知道 .NET 框架将有效和识别哪些格式。
http://msdn.microsoft.com/en-us/library/1k1skd40.aspx列出了识别的格式,但没有回答我的所有问题。
对于日期:单个数字的日期/月份是否有效?
2位数的年份有效吗?
时间:上午/下午的哪些格式有效?我可以看到的可能字符串是:('a','p','a','p','am','pm','am','pm')
在客户端,我正在验证将被推送到 .NET 框架的字符串,我需要知道 .NET 框架将有效和识别哪些格式。
http://msdn.microsoft.com/en-us/library/1k1skd40.aspx列出了识别的格式,但没有回答我的所有问题。
对于日期:单个数字的日期/月份是否有效?
2位数的年份有效吗?
时间:上午/下午的哪些格式有效?我可以看到的可能字符串是:('a','p','a','p','am','pm','am','pm')
.NET 可以毫无问题地解析具有单日/月和 2 位数年份的日期。
您需要为此使用自定义格式字符串。
DateTime.ParseExact("9/1/12", "d/M/yy",
CultureInfo.InvariantCulture,
DateTimeStyles.None)
如果要测试多种格式,可以将格式字符串数组作为第二个参数传递:
DateTime.ParseExact("9/1/12", new [] { "d/M/yy", "dd/MM/yyyy" }
CultureInfo.InvariantCulture,
DateTimeStyles.None)
是的,DateTime 解析函数接受一位数的月份和日期以及两位数的年份。我不知道“a”代表“我”的头顶。
但只是一个建议——我并不是要在这里刻薄,我的意思是一个建设性的建议:这是一个你可以通过编写一个 5 行测试程序并运行它来更快地回答的问题,然后看看会发生什么而不是将其发布在论坛上。这样您不仅不必坐在那里等待答案,而且您可以 100% 确信答案是正确的,并且不会因为有人发布错误的答案而浪费时间。