tt:=now-adoquery1.Fields[3].AsDateTime; //now-crq
iyear:=strtoint(copy(formatdatetime('YYYY-MM',tt),3,2));
在第二条语句执行后会有什么样的结果?不懂第二条语句的含义。把天数转换成????
iyear:=strtoint(copy(formatdatetime('YYYY-MM',tt),3,2));
在第二条语句执行后会有什么样的结果?不懂第二条语句的含义。把天数转换成????
调试欢乐多
formatdatetime是把 tt包含的日期格式化成 YYYY-MM的格式,比如结果为2008-08copy出结果的第三位开始的二位字符串 结果为08strtoint 字符串转换成整型
tt提到的是当前时间和数据库里那个时间相减后的结果,即相差多少时间
iyear:=strtoint(copy(formatdatetime('YYYY-MM',tt),3,2));
得到的是这个相差的时间换算成多少年。原因1楼的已经说过了。
//now是当前时间2008-8-31 8:30 adoquery1.Fields[3].AsDateTime:=2008-8-31 7:30
这样执行结果为 0.44093101 左右
s1:=formatdatetime('yyyy-mm',tt);
//紧接着s1怎么就显示等于1899-12了呢 ??????????????
iyear:=strtoint(copy(formatdatetime('YYYY-MM',tt),3,2));
//执行后iyear=99