gywang
Friday, June 4, 2010
Java日期比较的一个陷阱
昨天在调试程序中,碰到一个问题,简化叙述如下
c是个Calendar对象,d是个Date,程序要判断c是否在d之后,判断条件用了
c.after(d)
当打印出来的时候,c的确是在d之后的,但以上条件却总是不成立。
仔细看了JavaDoc后,发现Calendar类的after方法虽然接受所有类型,但只有参数同是Calendar对象的时候日期比较才有意义。否则一律返回假。
解决办法也很简单,其实Date类也有after函数。只要把c转为Date类即可。
c.getTime().after(d)
这样就可以了。
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment