java日期处理

xiaoxiao2021-02-28  110

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.HOUR12小时制的小时Calendar.HOUR_OF_DAY24小时制的小时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

转载请注明原文地址: https://www.6miu.com/read-60298.html

最新回复(0)