C# 检查dd-MMM-yy中的日期时间
Web API的输入参数是DateTime数据类型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
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个参数