Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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# 检查dd-MMM-yy中的日期时间_C#_String_Datetime - Fatal编程技术网

C# 检查dd-MMM-yy中的日期时间

C# 检查dd-MMM-yy中的日期时间,c#,string,datetime,C#,String,Datetime,Web API的输入参数是DateTime数据类型 public HttpResponseMessage Getdetails(string ROOM, DateTime DOB_GT) 我需要检查输入的DOB_GT是否为dd-MMM-yy格式,否则我必须返回一个JSON响应“error”:“无效日期格式”。大多数示例处理的是DateTime.TryParseExact,它需要字符串。我应该先将DateTime转换为字符串,然后使用DateTime.TryParseExact,还是像Steve

Web API的输入参数是DateTime数据类型

public HttpResponseMessage Getdetails(string ROOM, DateTime DOB_GT)

我需要检查输入的DOB_GT是否为dd-MMM-yy格式,否则我必须返回一个JSON响应“error”:“无效日期格式”。大多数示例处理的是
DateTime.TryParseExact
,它需要字符串。我应该先将DateTime转换为字符串,然后使用
DateTime.TryParseExact
,还是像Steve和Francis指出的那样,有其他方法可以做到这一点,由于
DOB\u GT
变量已经是
DateTime
对象,您可以假定它的值是有效日期,因为无效的DateTime对象在创建/实例化时会崩溃,因此您将无法将其传递给您的方法。因为它是一个有效的日期,所以您可以在需要使用它时指定所需的格式。要按照指定的格式设置DateTime对象的格式,请尝试String.format选项。格式为dd MMM yy的示例

Console.WriteLine(DOB_GT.ToString(String.Format("dd-MMM-yy")));
这将输出类似于。。。2016年11月17日


希望这有帮助。

这已经是一个日期时间,没有任何特定格式。如果您需要解析某些内容,它不在此函数中。datetime变量没有格式。此时,检查用户键入日期的格式为时已晚。我是否应该以字符串形式接收它们以便检查?@Steve你能帮助我检查我们接收的数据时间是否有效吗?如果后端需要日期时间变量,则无法在用户键入时检查原始字符串的格式。一旦该字符串在DateTime中被转换,它将作为一系列数字存储在变量中,并释放任何类型的“格式”。只有当您传递用户键入的相同字符串时,此验证才能由后端完成,否则验证应在客户端进行。当然,您的后端可以检查日期是否在允许的限制内。错误CS1501:方法“ToString”的重载不包含1个参数