Button2的text是“签退”
这个down里存的是从数据库里提取的下班时间,值为17:10:00
0和1是存入迟到或者未迟到的
protected void Button2_Click(object sender, EventArgs e)
{
//判断下班是否早退
if (DateTime.Compare(Convert.ToDateTime(DateTime.Now.ToString("hh:mm:ss")), Convert.ToDateTime(down)) >= 0) {
bc.ExecSQL("INSERT INTO tb_sign (datetime, employeeName, late, quit) values ('" + DateTime.Now + "','" + Session["loginName"].ToString() + "','0','0')");
}
else
{
bc.ExecSQL("INSERT INTO tb_sign (datetime, employeeName, late, quit) values ('" + DateTime.Now + "','" + Session["loginName"].ToString() + "','0','1')");
}
}请问各位大侠,为什么当DateTime.Now.ToString("hh:mm:ss")为20:46:12时,让它和down作比较得到的结果会得到小于零而执行else语句,纳闷了~~按说20:46:12是大于17:10:00的啊比较结果不是应该得到大于零而执行if语句吗?拜托各位大虾解释一下,谢谢了~~~~
这个down里存的是从数据库里提取的下班时间,值为17:10:00
0和1是存入迟到或者未迟到的
protected void Button2_Click(object sender, EventArgs e)
{
//判断下班是否早退
if (DateTime.Compare(Convert.ToDateTime(DateTime.Now.ToString("hh:mm:ss")), Convert.ToDateTime(down)) >= 0) {
bc.ExecSQL("INSERT INTO tb_sign (datetime, employeeName, late, quit) values ('" + DateTime.Now + "','" + Session["loginName"].ToString() + "','0','0')");
}
else
{
bc.ExecSQL("INSERT INTO tb_sign (datetime, employeeName, late, quit) values ('" + DateTime.Now + "','" + Session["loginName"].ToString() + "','0','1')");
}
}请问各位大侠,为什么当DateTime.Now.ToString("hh:mm:ss")为20:46:12时,让它和down作比较得到的结果会得到小于零而执行else语句,纳闷了~~按说20:46:12是大于17:10:00的啊比较结果不是应该得到大于零而执行if语句吗?拜托各位大虾解释一下,谢谢了~~~~
if (DateTime.Now > Convert.ToDateTime(down)) ...
这句错了,小写的hh是12时制的,换成大写的HH
即:
DateTime.Now.ToString("HH:mm:ss")
其实你自己调试一下就知道了。
if (DateTime.Compare(DateTime.Now,Convert.ToDateTime(dt)) >= 0)
{}