java日期处理

来源:互联网 发布:查看端口有没有被占用 编辑:程序博客网 时间:2024/06/07 22:34

java日期处理

SimpleDateFormat 的 format()方法,可以把日期转换为指定样式的字符串。

Date date = new Date();SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");String dateStr = ft.format(date);System.out.println(dateStr);

控制台输出:2017-06-07 13:48:02

SimpleDateFormat 的 parse()方法,将指定的字符串样式转换为Date类型。

Date t = null;try {    // 时间字符串的样式要和SimpleDateFormat对象中定义的一样    t = ft.parse("2017-06-07 13:48:02");} catch (ParseException e) {    e.printStackTrace();}System.out.println(t);

控制台输出: Wed Jun 07 13:48:02 CST 2017

Calendar类对象字段类型

Calendar.YEAR 年份 Calendar.MONTH 月份 Calendar.DATE 日期 Calendar.DAY_OF_MONTH 日期,和上面的字段意义完全相同 Calendar.HOUR 12小时制的小时 Calendar.HOUR_OF_DAY 24小时制的小时 Calendar.MINUTE 分钟 Calendar.SECOND 秒 Calendar.DAY_OF_WEEK 星期几

Calendar.MONTH 是从0到11的;

所有Calendar.MONTH = 5 表示的是6月。

Calendar.DAY_OF_WEEK 获取星期, 要 -1 , 星期天是1,星期六是7

Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。

Date转Calendar 或者 设置Calendar:

Calendar calendar=Calendar.getInstance();calendar.setTime(new Date());c1.set(2017, 5, 5);//把Calendar对象c1的年月日分别设这为:2017年6月5日

calendar.add可以很好的计算日期的加减,不管加减多少天,都能很好的计算。

calendar.add(Calendar.DATE, 30);  

Calendar 转为Date

Date t = calendar.getTime();System.out.println(t);

计算两个日期之间的天数:

Calendar calendar = Calendar.getInstance();Calendar calendar1 = Calendar.getInstance();calendar.set(2017, 1,10);calendar1.set(2017, 2,20);Date d = calendar.getTime();Date d1 = calendar1.getTime();System.out.println((d1.getTime() - d.getTime())/(3600000*24));

计算一个月有多少天/ 这个月的最后一天是几号:

System.out.println(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));

获取日期、月份、年份、星期几:

private static void printYMd(Calendar calendar) {        System.out.println("日期 " + calendar.get(Calendar.DAY_OF_MONTH) +=                " 月份 " + calendar.get(Calendar.MONTH) +                " 年份 " + calendar.get(Calendar.YEAR) +                 // 今天是星期几, 要 - 1                " 星期几 " calendar.get(Calendar.DAY_OF_WEEK));    }

两个日期比较

SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");Date t1 = null;Date t2 = null;try {  t1 = ft.parse("2017-06-07 13:48:03");  t2 = ft.parse("2017-06-07 13:48:02");} catch (ParseException e) {  e.printStackTrace();}System.out.println(t1);System.out.println(t2);System.out.println(t1.compareTo(t2));

t1 在 t2 之前, 返回 -1

t1 和 t2 同时, 返回 0

t1 在 t2 之后, 返回 1

原创粉丝点击