紧急求助(日期相减,比较)如何解决。望高手帮忙。。
string userid = "";string i易做图pire = "";
string today = "";
float fine;
public void store()
{
userid = this.Useridtxt.Text;
SqlConnection conn = db.createcon();
conn.Open();
string sql = "select * from Return_fine where Userid='"+this.userid+"'";
SqlCommand cmdselect = new SqlCommand(sql,conn);
SqlDataReader sdr = cmdselect.ExecuteReader();
while (sdr.Read())
{
Session["dayfine"] = sdr["dayfine"].ToString();//从表中取出日罚款金额
Session["shredate"] = sdr["shredate"].ToString();//取出资料应还日期
Session["DBname"] = sdr["DBname"].ToString();
}
//conn.Close();
today=(System.DateTime.Now.Date).ToString();//获取系统当前日期
DateTime t = (Convert.ToDateTime)today;//将当前日期转换成日期类型
DateTime s=(Convert.ToDateTime)Session["shredate"];//
if (t > s)//比较是否超期
{
i易做图pire = "是";
fine = (t - s) * this.Session["dayfine"];//计算罚款金额
conn.Close();
}
else
{
i易做图pire = " 否";
fine=0.0;
conn.Close();
}
错误提示:
System.Convert.ToDateTime(System.DateTime)”是“方法”,但此处被当做“类型”来使用
是不是日期类型不能相减?
那如何计算相差天数?
还有我定义的fine是float型,this.Session["dayfine"]是字符串型,计算罚款金额的公式是不是正?
****
我想实现图书馆资料超期罚款的功能
共有三个字段参与计算,当前还书日期(即系统时间),应还日期,每天罚款金额。
若还书日期大于应还日期,则超期,两者相减,与每天罚款金额相乘,即可。
但是它们类型是不同的,我不知道如何转化,
当前还书日期-应还日期得出的是什么类型,能直接算相差天数码?何况每月天数不同,就算能减,
得出的是什么类型?而每天罚款金额是FLOAT型的,能相乘吗? --------------------编程问答-------------------- DateTime t = (Convert.ToDateTime)today;//将当前日期转换成日期类型
DateTime s=(Convert.ToDateTime)Session["shredate"];//
应该是
DateTime t = Convert.ToDateTime(today);
DateTime s= Convert.ToDateTime(Session["shredate"]);
另:Session存储的是object类型,用于运算需要转换
string ==> Session["xxx"].ToString()
int ==> (int)Session["xxx"]
...
需要判断是否为null
补充:.NET技术 , ASP.NET