如何检查包含Date值的C#字符串变量是否包含时间部分?
string date="2013-04-03 10:15:00";
string date="2013-04-03";
答案 0 :(得分:2)
假设您始终具有相同的格式您可以Split字符串并检查返回数组的Length
。
if(date.Split(' ').Length > 1)
{
//String contains date and time
}
答案 1 :(得分:0)
例如:
if (date.Contains(":"))
{
}
答案 2 :(得分:0)
我认为需要考虑的一个更重要的问题是:为什么你需要知道?是这样你可以为时间添加默认值,还是与问题无关的时间?无论哪种方式,使用标准方法解析日期都应符合要求:
http://msdn.microsoft.com/en-us/library/ch92fbc1(v=vs.110).aspx
例如:
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;
}