c# 两个字符串类型比较大小

数据库表中有STARTDAY,ENDDAY两列,类型是string型的,都是如:20140515这样的;现在我要用现在的日期,判断现在的时间是否在STARTDAY与ENDDAY之间的时间段内,该如何比较,如何实现?
2026年09月25日 09:36
有3个网友回答
网友(1):

用下面的这个函数进行对比
 /// 
        /// 计算相差多少天
        /// 

        /// 开始时间
        /// 结束时间
        /// 返回时间
        public static int GetDays(string startDate, string endDate)
        {
            DateTimeFormatInfo dtFormat = new DateTimeFormatInfo();
            dtFormat.ShortDatePattern = "yyyy/MM/dd";
            DateTime dtStart = Convert.ToDateTime(startDate, dtFormat);
            DateTime dtEnd = Convert.ToDateTime(endDate, dtFormat);
            // 计算差异天数
            TimeSpan tsDay = dtEnd - dtStart;
            int dayCount = (int)tsDay.TotalDays;
            return dayCount;
            }

     


假使现在的时间为DateNow,


if(GetDays(STARTDAY,DateNow)>0&&GetDays(DateNow,ENDDAY)<0)
{
//这里执行你需要执行的代码
}

网友(2):

SELECT * FROM TABLE WHERE '2014-02-01' BETWEEN CONVERT(DATETIME,STARTDAY ) and CONVERT(DATETIME,ENDDAY)

网友(3):

给你一个不严谨的算法:
先把这两个string转换成整型,然后用当前日期也就是DateTime.Now然后ToString("YYYYmmDD")然后再转换成整型。介于上面两个整型之间就说明是在该时间段内!