Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何验证日期时间_C#_Datetime - Fatal编程技术网

C# 如何验证日期时间

C# 如何验证日期时间,c#,datetime,C#,Datetime,我必须用c#验证日期时间。 因此,我构建了以下代码: private const string Format = "yyyy-MM-dd hh:mm:ss.fff"; public object ValidDate(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (reader.Value == null) { return null;

我必须用c#验证日期时间。 因此,我构建了以下代码:

private const string Format = "yyyy-MM-dd hh:mm:ss.fff";
public object ValidDate(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
    if (reader.Value == null)
    {
    return null;
    }

    var s = reader.Value.ToString();
    DateTime result;
    if (DateTime.TryParseExact(s, Format, CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
    {
    return result;
    }

    return DateTime.Now;
}
现在如果我用这个日期

2016-06-09 11:20:50.125

没关系,但如果我试着用这个日期

2016-06-09 13:20:50.125

日期无效。问题就在这个时间。从1点到12点没关系。从13岁到24岁都不行。
我怎样才能修复它?

您的格式看起来不太好。将
hh
替换为
hh

private const string Format = "yyyy-MM-dd HH:mm:ss.fff";
private const string Format = "yyyy-MM-dd HH:mm:ss.fff";

参考:

传递给
DateTime的
hh
格式。TryParseExact()
预计12小时格式的时间为1小时

如果您有24小时格式的时间,则必须将其更改为
HH

private const string Format = "yyyy-MM-dd HH:mm:ss.fff";
private const string Format = "yyyy-MM-dd HH:mm:ss.fff";
您的格式字符串

yyyy-MM-dd hh:mm:ss.fff
使用
hh
指定您希望以12小时表示的时间 使用
HH
而不是
HH
,它应该按照您的预期工作

用于将小时表示为从
01
12
的数字的格式。改为使用表示格式的,表示
00
23

private const string Format = "yyyy-MM-dd HH:mm:ss.fff";
您可以参考这一点-顺便说一下,在C#中,没有
24:00
表示法。它以
00:00
表示,与大多数其他现代语言/应用程序一样。阅读:和。同样来自:
午夜
是一种特殊情况,可称为
“00:00”
“24:00”
。表示法
“00:00”
在日历日开始时使用,使用频率更高。在一天结束时使用
“24:00”
<代码>“2007-04-05T24:00”与
“2007-04-06T00:00”