检查保存日期的字符串是否包含时间

时间:2013-12-30 12:35:01

标签: c# .net

如何检查包含Date值的C#字符串变量是否包含时间部分?

string date="2013-04-03 10:15:00";
string date="2013-04-03";

3 个答案:

答案 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;
}