日期类

来源:互联网 发布:短信王软件 编辑:程序博客网 时间:2024/06/13 12:32

需求:定义一个类,使用一个字段来表示年龄.

public  class Employee{       private java.util.Date bornDate;       private java.util.Date hireDate//入职时间}

在系统中存储的是员工的基本的信息,包括了员工的年龄,此时使用Integer/int类型来表示年龄是不合理的,难道每年都得修改系统中员工的年龄递增1.
需求:如何计算一个员工的工龄.
——>怎么来表示时间/日期类型.
日期相关类:
Date类: java.util.Date类,不是java.sql.Date. 类 Date 表示特定的瞬间,精确到毫秒.
DateFormat/SimpleDateFormat类:
Calendar类:
Java8中重新为日期定义了新的API.
Date类中的大量方法都已经过时了,过时不代表不存在,依然可以使用,只不过不建议使用,官方建议我们使用Calendar类.

Date date = new Date();

日期格式化操作:
DateFormat:可以完成日期的格式化操作.
格式化(format): Date类型对象——->String类型: String format(Date date)
解析(parse): String类型时间——>Date类型 : Date parse(String source)
DateFormar转换的格式是固定的,我想根据自己的风格来做转换.
自定义格式,比如:2016-04-16 15:50:48
比如:2016/04/16 15:50:48

SimpleDateFormat类:是DateFormat的子类,支持自定义格式模式.

//自定义日期格式SimpleDateFormat sdf = new SimpleDateFormat("YYYY:MM:dd");String data = sdf.format(new Date());System.out.println(data);//解析,使用什么风格格式化的,必须使用相同风格解析回去!!!Date parse = sdf.parse(data);   System.out.println(parse);//查询最近一周的天数Calendar c = Calendar.getInstance();c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH, 1);c.set(Calendar.HOUR_OF_DAY, 0);c.set(Calendar.MINUTE, 0);c.set(Calendar.SECOND, 0);Date endTime = c.getTime();c.add(Calendar.DAY_OF_MONTH, -7);Date beginTime = c.getTime();System.out.println(beginTime);System.out.println(endTime);
0 0