Java日期类型的转换处理

简介: 1.java中处理时间日期的类主要有Date和Calendar两种.由于项目中涉及了从数据库中得到的Timestamp邮戳类型的处理.
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 这样就可以实现两者之间的转换了
相关文章
|
30天前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
25 0
|
1月前
|
Java
java中的泛型类型擦除
java中的泛型类型擦除
13 2
|
1月前
|
存储 Java 数据库
java包装类的作用、基本类型和包装类型的区别
java包装类的作用、基本类型和包装类型的区别
31 0
java包装类的作用、基本类型和包装类型的区别
|
1月前
|
存储 Java 程序员
Java变量类型
Java变量类型
13 0
|
1月前
|
缓存 Java 编译器
34、Java 中有了基本数据类型,为什么还需要有包装类型?包装类型是啥?
34、Java 中有了基本数据类型,为什么还需要有包装类型?包装类型是啥?
37 1
|
1月前
|
安全 Java 数据库连接
【Java每日一题】——第四十三题:编程用多态实现打印机.。分为黑白打印机和彩色打印机,不同类型的打印机打印效果不同。
【Java每日一题】——第四十三题:编程用多态实现打印机.。分为黑白打印机和彩色打印机,不同类型的打印机打印效果不同。
26 0
|
1月前
|
存储 Java
JAVA字符串与其他类型数据的转换
JAVA字符串与其他类型数据的转换
27 4
|
1月前
|
存储 Java fastjson
Java泛型-4(类型擦除后如何获取泛型参数)
Java泛型-4(类型擦除后如何获取泛型参数)
33 1
|
1月前
|
Shell
Flume【问题记录 01】【at org.apache.flume.node.Application.main(Application.java:xxx) 类问题整理+其他类型问题总结】【避坑指南】
【2月更文挑战第17天】Flume【问题记录 01】【at org.apache.flume.node.Application.main(Application.java:xxx) 类问题整理+其他类型问题总结】【避坑指南】
53 2
|
1天前
|
存储 Java
JAVA变量类型
JAVA变量类型
9 0