举例:
Date的after和before方法解释
Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false;
Date1.before(Date2),当Date1小于Date2时,返回TRUE,当大于等于时,返回false;
如果业务数据存在相等的时候,而且相等时也需要做相应的业务判断或处理时,请注意。
如果有这样的需求,在某个日期内的业务check,那么你需要使用:!Date1.after(Date2)
Date详解
java api中日期类型的继承关系>>
| after(Date |
| before(Date |
| clone() |
| compareTo(Date |
| equals(Object |
| getTime() |
java.sql下面的包 主要是用在jdbc下的使用
Timestamp()》》
java.util.Date
java.util.Date
java.util.Date
Timestamp.equals(Object)
true
,因为日期的毫微秒组件是未知的。因此,相对于 java.util.Date.equals(Object)
Timestamp.equals(Object)
hashcode
java.util.Date
鉴于 Timestamp
java.util.Date
Timestamp
java.util.Date
Timestamp
java.util.Date
Timestamp(long
Timestamp
| after(Timestamp Timestamp Timestamp |
| before(Timestamp Timestamp Timestamp |
| compareTo(Date Timestamp Date (必须为 Timestamp |
| compareTo(Timestamp Timestamp Timestamp |
| equals(Object Timestamp |
| equals(Timestamp Timestamp Timestamp |
| getNanos() (因为刚才说过了 我们不能通过java.util.Date来获得毫秒 ,timestamp就自己提供)Timestamp nanos |
| getTime() Timestamp |
| setNanos(int Timestamp nanos |
| setTime(long Timestamp |
| toString() |
static | valueOf(String String Timestamp |
因为是继承了java.util.Date
java.sql.Date》》
Date
| setTime(long Date |
| toString() |
static | valueOf(String Date |
可能有人发现了 在我们用这个java.sql.Date类型插入数据库的时候会发现丢失了时分秒,发生了自动截取,这是为什么呢?
getDate()方法来获得返回值时,java程序会参照"规范"的java.sql.Date来格式化数据库中的数值。因此,如果数据库中存在的非规范化部分的信息将会被劫取。所以我们要精确的日期时应该使用Timestamp
Time我基本没有用过,也比较简单>>
Time(long
Time
| setTime(long Time |
| toString() |
static | valueOf(String Time |
有了上面这些知识后,我们要进行转换就发现一目了然了>>>基本都是可以通过getTime()方法获得long类型的毫秒数 在通过构造函数把这毫秒数传过去就完成了转换。如:
java.util.Date d = new java.util.Date(sqlDate.getTime());