即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

java日期处理

编程语言 u013041642 21℃ 0评论
本文目录
[隐藏]

1.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())/(10006060*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

转载请注明:CodingBlog » java日期处理

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情