C# 检查保存日期的字符串是否包含时间
如何检查保存日期值的C#字符串变量是否包含时间部分C# 检查保存日期的字符串是否包含时间,c#,.net,C#,.net,如何检查保存日期值的C#字符串变量是否包含时间部分 string date="2013-04-03 10:15:00"; string date="2013-04-03"; 假设您总是使用相同的格式,您可以编辑字符串并检查返回数组的长度 if(date.Split(' ').Length > 1) { //String contains date and time } 例如: if (date.Contains(":")) { } 我想一个更重要的问题是:为什么你需要知道?是这
string date="2013-04-03 10:15:00";
string date="2013-04-03";
假设您总是使用相同的格式,您可以编辑字符串并检查返回数组的
长度
if(date.Split(' ').Length > 1)
{
//String contains date and time
}
例如:
if (date.Contains(":"))
{
}
我想一个更重要的问题是:为什么你需要知道?是这样您可以为时间添加默认值,还是时间与您的问题无关?无论哪种方式,使用标准方法解析日期都应该符合要求:
例如:
bool IsDefaultTime(string parseTime)
{
DateTime date;
//parse the date and see if we have a time element
if(DateTime.TryParse(parseTime, out date))
{
//returns true when the time is midnight.
return date.TimeOfDay == TimeSpan.Zero;
}
throw new ArgumentException(string.Format("Value was not in recognized datetime format: {0}", parseTime));
}
除此之外,如果您正在寻找有效的检查,并且可以确保日期始终采用上述格式(即MM dd yyyy),那么您可以只检查字符串的长度:
bool HasTimeElement(string parseTime)
{
//Ignoring all validation concerns to be handled elsewhere.
return parseTime.Length > 10;
}
最后一个也包含时间部分。现在是00:00(午夜),我认为你需要更具体地说明你想要实现的目标,以及价值观的来源。如果您可以依赖这些字符串的精确格式,并且不可能使用不同的区域日期/时间格式,那么可以使用简单的基于字符串的检查(甚至可以只检查长度是否为10),否则您将需要解析为DateTime并使用该格式进行检查(小时、分钟、秒、毫秒均等于0),因此“:::”
是一个DateTime
值吗?如果一个C#string变量包含一个日期值,OP会显示