日期类
代码逻辑相关的日期类
java.util.Date类 -- 日期类
已过时的方法可能仍然可以使用,强烈建议不使用过时方法
new Date(); -- 创建一个表示当前系统时间的日期对象
new Date(long time); -- 创建一个long指定日期的日期对象
time=0 1970年1月1日 00:00:00.000 GMT(格林威治时间)
1970年1月1日 08:00:00.000 GMT+8(东八区时间)
d1.before(d2); 验证时间d1是否在时间d2之前
d1.after(d2); 验证时间d1是否在时间d2之后
d1.getTime(); 获取从时间原点至时间d1所经历的毫秒数
过时方法
d1.getYear(); 得到当前年份-1900年的年份
d1.getMonth(); 得到当前月份-1的月份
d1.getDay(); 得到当前的星期 日0 一1 ... 六6
d1.getDate(); 得到当前的日 与日历日期一致
时分秒参照API
java.util.Calendar类 -- 日历类
实例化:
Calendar cal = Calendar.getInstance();
设置时间
cal.set(1990, 0, 1); //1990-1-1
cal.set(1990, 0, 1, 22, 30); //1990-1-1 22:30
cal.set(1990, 0, 1, 23, 59, 59); //1990-1-1 23:59:59
cal.set(时间域,值)
时间域
年 Calendar.YEAR
月 Calendar.MONTH
日 Calendar.DAY_OF_MONTH
时 Calendar.HOUR_OF_DAY
分 Calendar.MINUTE
秒 Calendar.SECOND
毫秒 Calendar.MILLISECOND
星期 Calendar.DAY_OF_WEEK
日 Calendar.SUNDAY
一 Calendar.MONDAY
二 Calendar.TUESDAY
三 Calendar.WEDNESDAY
四 Calendar.THURSDAY
五 Calendar.FRIDAY
六 Calendar.SATURDAY
取得时间
cal.get(时间域) 取得对应时间域的值
日历类与日期类之间的转换
Date d = cal.getTime(); //将日历转换成日期
cal.setTime(Date d); //将日期转换成日历
long l = cal.getTimeInMillis(); //获得日历对应的时间毫秒数
setTimeInMillis(long l); //设置毫秒数代表的日历
与另一个Calendar进行比较 -- 参照java.util.Date类的相应方法进行理解
cal1.before(cal2)
cal1.after(cal2)
------------------------------------------------------------------
练习:控制台上提示用户
输入年
输入月
.. 日
.. 时
分
秒
显示 用户输入的时间比当前时间早 or 晚
数据库相关的日期类
java.sql.Date类 是 java.util.Date的子类
实例化方式通过毫秒数来实例化
java.sql.Timestamp类
日期与字符串的转换(重要-掌握)
java.text.SimpleDateFormat类
new SimpleDateFormat("日期格式")
转换时,被转换的字符串的日期格式要与构造方法中规定的格式一致
否则有可能转换失败 -> 异常
转换的过程
字符串 -> 日期
2000.1.1 yyyy.MM.dd
2000-1-1 yyyy-MM-dd
2000/1/1 yyyy/MM/dd
1/31/2000 MM/dd/yyyy
2000年1月1日 yyyy年MM月dd日
2000-01-31 21:00:00 yyyy-MM-dd HH:mm:ss
Date d = sdf.parse(String str); --需要处理检查性异常
日期 -> 字符串
String str = sdf.format(Date date);
代码逻辑相关的日期类
java.util.Date类 -- 日期类
已过时的方法可能仍然可以使用,强烈建议不使用过时方法
new Date(); -- 创建一个表示当前系统时间的日期对象
new Date(long time); -- 创建一个long指定日期的日期对象
time=0 1970年1月1日 00:00:00.000 GMT(格林威治时间)
1970年1月1日 08:00:00.000 GMT+8(东八区时间)
d1.before(d2); 验证时间d1是否在时间d2之前
d1.after(d2); 验证时间d1是否在时间d2之后
d1.getTime(); 获取从时间原点至时间d1所经历的毫秒数
过时方法
d1.getYear(); 得到当前年份-1900年的年份
d1.getMonth(); 得到当前月份-1的月份
d1.getDay(); 得到当前的星期 日0 一1 ... 六6
d1.getDate(); 得到当前的日 与日历日期一致
时分秒参照API
java.util.Calendar类 -- 日历类
实例化:
Calendar cal = Calendar.getInstance();
设置时间
cal.set(1990, 0, 1); //1990-1-1
cal.set(1990, 0, 1, 22, 30); //1990-1-1 22:30
cal.set(1990, 0, 1, 23, 59, 59); //1990-1-1 23:59:59
cal.set(时间域,值)
时间域
年 Calendar.YEAR
月 Calendar.MONTH
日 Calendar.DAY_OF_MONTH
时 Calendar.HOUR_OF_DAY
分 Calendar.MINUTE
秒 Calendar.SECOND
毫秒 Calendar.MILLISECOND
星期 Calendar.DAY_OF_WEEK
日 Calendar.SUNDAY
一 Calendar.MONDAY
二 Calendar.TUESDAY
三 Calendar.WEDNESDAY
四 Calendar.THURSDAY
五 Calendar.FRIDAY
六 Calendar.SATURDAY
取得时间
cal.get(时间域) 取得对应时间域的值
日历类与日期类之间的转换
Date d = cal.getTime(); //将日历转换成日期
cal.setTime(Date d); //将日期转换成日历
long l = cal.getTimeInMillis(); //获得日历对应的时间毫秒数
setTimeInMillis(long l); //设置毫秒数代表的日历
与另一个Calendar进行比较 -- 参照java.util.Date类的相应方法进行理解
cal1.before(cal2)
cal1.after(cal2)
------------------------------------------------------------------
练习:控制台上提示用户
输入年
输入月
.. 日
.. 时
分
秒
显示 用户输入的时间比当前时间早 or 晚
数据库相关的日期类
java.sql.Date类 是 java.util.Date的子类
实例化方式通过毫秒数来实例化
java.sql.Timestamp类
日期与字符串的转换(重要-掌握)
java.text.SimpleDateFormat类
new SimpleDateFormat("日期格式")
转换时,被转换的字符串的日期格式要与构造方法中规定的格式一致
否则有可能转换失败 -> 异常
转换的过程
字符串 -> 日期
2000.1.1 yyyy.MM.dd
2000-1-1 yyyy-MM-dd
2000/1/1 yyyy/MM/dd
1/31/2000 MM/dd/yyyy
2000年1月1日 yyyy年MM月dd日
2000-01-31 21:00:00 yyyy-MM-dd HH:mm:ss
Date d = sdf.parse(String str); --需要处理检查性异常
日期 -> 字符串
String str = sdf.format(Date date);