[Java]常用日期处理
来源:互联网 发布:数据机房空调设计 编辑:程序博客网 时间:2024/06/09 04:20
最近在复习Java基础,发现Java中关于日期处理的类比较杂乱,新手常常无法找到合适的方法。于是决定写一篇博文介绍一下Java常用的日期处理。
Java中常用的日期相关类以及它们之间的关系如下图所示,其中中间的Date是指java.util.Date,左下的Date指java.sql.Date。这几个类几乎包含了所有常用日期处理的方法,下边将分别详细介绍一下它们。
1.Date(java.util.Date)
Date类应该是Java中最早用于日期处理的类了,它的无参构造函数可以创建一个表示当前时间的对象,其他构造函数还支持通过将int类型的年月日或String类型的日期构造成日期对象,如下面代码所示:
//通过默认构造函数创建当前时间对象Date d = new Date();//通过int类型的年月日创建对象Date d = new Date(2014, 7, 30);//通过String类型的日期创建对象Date d = new Date("Sat 30 Oct 2014 14:59:00");不过很遗憾的是,下面两种方法都在Java1.1版本被Calendar的set方法和DateFormat的parse方法所替代了,并且Date类中的所有的日期修改方法也被Calendar中的对应方法所替代,这说明Date类将不再用于日期修改,仅作为一个封装日期数据的类所提供。
2.Date(java.sql.Date)、Time和Timestamp
这三个Date类的子类在数据库操作中经常会碰到,分别被用来表示日期(年月日)、时间(时分秒)以及日期时间(年月日时分秒)。它们的作用一般用于保存从数据库中取出的日期数据,在此不多做介绍了。
3.Calendar
由于Date类对国际化支持的并不好,在Java1.1版本中推出了Calendar类,中文翻译就是日历的意思。Calendar是一个抽象类,我们需要使用它的静态方法getInstance获得一个表示当前时间的其实现类的实例,如下面代码所示:
//通过getInstance获得Calendar实例Calendar rightNow = Calendar.getInstance();Calendar类用于日期处理提供了相当多的方法和静态变量,它的get和set方法需要通过字段设置和取出对应的值,如:
//通过set方法设置需要的时间rightNow.set(Calendar.HOUR_OF_DAY, 15);//通过get方法获得设置的时间int nowHour = rightNow.get(Calendar.HOUR_OF_DAY);此外Calendar还提供对时间进行加减的方法add,如:
//在当前时间的基础上增加15分钟rightNow.add(Calendar.MINUTE, 15);Calendar还有许多其它可以对日期进行修改的函数,可以查询API文档,本文就不一一详述了。
4.DateFormat
DateFormat类是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。在实际使用中我们通常使用它的子类SimpleDateFormat。
SimpleDateFormat的构造函数可以指定一个日期格式,然后按照这个日期格式去解析或输出日期对象,如:
//创建一个SimpleDateFormat对象,指定日期格式为年-月-日。SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//解析日期Date d = sdf.parse("2014-8-30");//创建另一个SimpleDateFormat,指定格式为xxxx年xx月xx日。sdf = new SimpleDateFormat("yyyy年MM月dd日");//转换日期String s = sdf.format(d);
4.其他
TimeZone类表示时区偏移量,由于使用较少本文就不详细说明了,有兴趣可以查询API文档。
System类有个currentTimeMillis方法,可以返回以毫秒为单位的当前时间,一般用于计算程序时间差。
5.总结
需要保存日期时可以使用java.util.Date类以及它的子类Java.sql.Date类、Time类和Timestamp类。
需要更改日期时,推荐使用Calendar类。
需要格式化解析或输出日期时,推荐使用SimpleDateFormat类。
- java常用日期处理
- java常用日期处理
- java 常用日期处理
- java常用日期处理
- [Java]常用日期处理
- java 常用日期处理
- Java处理日期常用方法
- Java常用类--处理日期
- java常用日期处理函数
- Java日期常用处理方法
- java常用类-java日期处理类
- JAVA处理日期时间常用方法
- JAVA处理日期时间常用方法:
- Java常用的日期处理类
- JAVA处理日期时间常用方法
- JAVA处理日期时间常用方法
- JAVA处理日期时间常用方法:
- JAVA处理日期时间常用方法
- MySql常用命令总结
- vs12-boost库编译
- 连接局域网的SQL Server数据库配置
- mysql5.5主从同步
- KMP算法
- [Java]常用日期处理
- LeetCode:Binary Tree Preorder Traversal
- 数据库命令和连接mysql服务器
- 正则表达式第四篇(Java中使用正则表达式)
- service-application-struts相关的配置
- 'mysql' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- 左式堆
- 调用带参数的线程Thread
- 探cocos2dx裁剪结点、拖尾效果、进度效果、渲染纹理实现(misc_nodes),源码版本(2.2.3)