如何验证检查日期时间输入是否符合 ISO 8601
How to validate check datetime input as ISO 8601
我尝试验证输入,然后我可以获得我想要的输入。
示例:
if (string != validate(string))
then not valid
else
then valid
输入和预期输出
2017-03-17T09:44:18.000+07:00 == valid
2017-03-17 09:44:18 == not valid
您应该可以使用 DateTime.TryParseExact。这将 return true/false
基于它是否正确解析。您可以使用 format
参数指定要匹配的模式。
您可以使用正则表达式来匹配您想要的日期格式(查看 this example 您的正则表达式应该是什么样子,具体取决于您需要的格式)。
function Validate(string Input)
{
System.Text.RegularExpressions.Regex MyRegex = new
System.Text.RegularExpressions.Regex("([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))");
return MyRegex.Match(Input).Success // returns true or false
}
要检查 DateTime
是否有效,您需要正确的 DateTime
格式(即 "yyyy-MM-ddTHH:mm:ss.fffzzz"
)并使用 DateTime.TryParseExact()
来验证您的日期时间字符串,
尝试下面的代码来验证您的日期时间字符串,
public void ValidateDateTimeString(string datetime)
{
DateTime result = new DateTime(); //If Parsing succeed, it will store date in result variable.
if(DateTime.TryParseExact(datetime, "yyyy-MM-ddTHH:mm:ss.fffzzz", CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
Console.WriteLine("Valid date String");
else
Console.WriteLine("Invalid date string");
}
我尝试验证输入,然后我可以获得我想要的输入。
示例:
if (string != validate(string))
then not valid
else
then valid
输入和预期输出
2017-03-17T09:44:18.000+07:00 == valid
2017-03-17 09:44:18 == not valid
您应该可以使用 DateTime.TryParseExact。这将 return true/false
基于它是否正确解析。您可以使用 format
参数指定要匹配的模式。
您可以使用正则表达式来匹配您想要的日期格式(查看 this example 您的正则表达式应该是什么样子,具体取决于您需要的格式)。
function Validate(string Input)
{
System.Text.RegularExpressions.Regex MyRegex = new
System.Text.RegularExpressions.Regex("([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))");
return MyRegex.Match(Input).Success // returns true or false
}
要检查 DateTime
是否有效,您需要正确的 DateTime
格式(即 "yyyy-MM-ddTHH:mm:ss.fffzzz"
)并使用 DateTime.TryParseExact()
来验证您的日期时间字符串,
尝试下面的代码来验证您的日期时间字符串,
public void ValidateDateTimeString(string datetime)
{
DateTime result = new DateTime(); //If Parsing succeed, it will store date in result variable.
if(DateTime.TryParseExact(datetime, "yyyy-MM-ddTHH:mm:ss.fffzzz", CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
Console.WriteLine("Valid date String");
else
Console.WriteLine("Invalid date string");
}