if (Convert.ToDateTime(ModCommon.sqldate(ModCommon.SetDate(JoinDate.Text))).ToString("yyyyMMdd") <= "19000101")
{
dtpJoinDate.Text = "";
}
我不知道我的代码有什么问题.. 它给出了错误,即“运算符&lt; =不能应用于字符串和字符串类型的操作数”
答案 0 :(得分:2)
错误说明了每一件事。 您正在将日期转换为字符串并检查它是否小于任何其他字符串。 你能回答:IF“ABC”&lt; =“abc”
使用:
DateTime dt = DateTime.ParseExact("19000101", "yyyyMMdd", CultureInfo.InvariantCulture);
if (Convert.ToDateTime(ModCommon.sqldate(ModCommon.SetDate(JoinDate.Text))) <= dt)
{
dtpJoinDate.Text = "";
}
答案 1 :(得分:1)
您不能将<=
operator与字符串一起使用。因为String
类没有超载<=
运算符。除运算符重载外,此运算符可用于数字类型和枚举类型仅。
我假设您尝试比较您的DateTime
值。如果是这样,你可以比较像;
DateTime dt = new DateTime(1900, 1, 1);
if(Convert.ToDateTime(ModCommon.sqldate(ModCommon.SetDate(JoinDate.Text))) <= dt)
{
dtpJoinDate.Text = "";
}
答案 2 :(得分:0)
尝试在测试之前将字符串日期转换为datetime,double或int。
DateTime.Parse
可能有用