java高级_工具类_日期类

日期类
代码逻辑相关的日期类
    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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值