string类型如何比较时间大小
public string endtime;
endtime = re["T_Title_en"].ToString(); //结束时间
DateTime dadt = DateTime.Parse(endtime);
endtime = dadt.ToString("yyyy-MM-dd HH:mm:ss");
var newdate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //当前时间
if(endtime<newdate) //当结束时间小于当前时间时执行以下代码...
{
qgou.Visible = false;
}
报错信息如下
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误消息: CS0019: 运算符“<”无法应用于“string”和“string”类型的操作数
源错误:
行 37:
行 38: var newdate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //当前时间
行 39: if (endtime < newdate)
行 40: {
行 41: qgou.Visible = false;
求正确答案......
------解决方案--------------------转成DataTime后比较
------解决方案--------------------转换成DateTime后,用DateTime.Compare 方法或者DateTime.CompareTo 方法进行比较
参考MSDNhttp://msdn.microsoft.com/zh-cn/library/system.datetime.compare%28VS.80%29.aspx
------解决方案--------------------数据类型不一样,转换一致之后,方可比较。
------解决方案--------------------如果在数据库中可以直接比较字符串时间的大小
如果在程序中可以用3L的方法
如果要计算两个字符时间的时间差,可以先转换为DateTime再计算TimeSpan。
------解决方案--------------------转换成DateTime类型的值以后再做比较,两个string类型的值是无法比较的.
------解决方案--------------------C# code
DateTime endtime= DateTime.Parse(re["T_Title_en"].ToString());//结束时间,re["T_Title_en"].ToString()要进行非空之类的判断,不然会报异常
if(endtime<DateTime.Now) //当结束时间小于当前时间时执行以下代码...
{
qgou.Visible = false;
}