Java日期类型的转换处理

1.java中处理时间日期的类主要有Date和Calendar两种.由于项目中涉及了从数据库中得到的Timestamp邮戳类型的处理.Date现在不提倡用来处理日期.Calendar是对Date的继承和扩充.Calendar是抽象的类,所以通用的new方法是不能用的.java为它提供了实现的子类---GregorianCalendar.Calendar默认实例是通过Calendar类型的getInstance()方法获得.总的来说,Calendar更象一个大的日期处理工厂.它里面提供的各种丰富的方法和静态常量.对于日期各个组成部分可以拆卸成各个部分小零件,对每个部分处理.然后在组装在一起再转换成相应的日期类型. 2.Calendar提供.set(int fields,int)方法.用于设置相应时间. 3.add()方法则用来修改相应的日期值. 4.Calendar提供除了可以自动获得系统默认的时间外,还可以接受来自用户定义的数据.主要是Date和Long类型参数.Calendar有两个方法是:setTime(Date)和setTimeInMillis(long).Calendar.setTime(Date)可以将Date类型对象转化为Calendar 对象Calendar.getTime()方法返回Date类型对象.可以看到Date和Calendar类型之间的转化是相对容易的.Calendar类中的add()方法功能非常强大.add() 可以对 Calendar 的字段进行计算。如果需要减去值,那么使用负数值就可以了.如 add(field, -value)。 add() 有两条规则:当被修改的字段超出它可以的范围时,那么比它大的字段会自动修正。如:Calendar cal1 = Calendar.getInstance();cal1.set(2000, 7, 31, 0, 0 , 0); //2000-8-31cal1.add(Calendar.MONTH, 1); //2000-9-31 => 2000-10-1,对吗?System.out.println(cal1.getTime()); //结果是 2000-9-30 另一个规则是,如果比它小的字段是不可变的(由 Calendar 的实现类决定),那么该小字段会修正到变化最小的值。以上面的例子,9-31 就会变成 9-30,因为变化最小。 Calendar与timestamp类型转换的问题. 两者没有直接的方法 要做响应的转换. Calendar<--->long<--->timeStamp Calendar.setTimeInMillis(long)和Calendar.getTimeInMillis()返回long timeStamp.setTime(long)和timeStamp.getTime()返回long 这样就可以实现两者之间的转换了

转载于:https://www.cnblogs.com/myitworld/archive/2008/06/20/2214871.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值