[Java]日期和时间的使用

来源:互联网 发布:临沂软件开发设计 编辑:程序博客网 时间:2024/06/05 16:50

本文主要针对DateCalendar两个类的部分操作做说明,目前的项目中使用这两个类已经可以满足使用,将项目中用到的内容做一个总结,方便日后查询。

Calendar注意事项

  • Calendar默认一月为0;
    在设置月份时,以一月为例
Calendar cal = Calendar.getInstance();cal.set( Calendar.MONTH, 1 - 1 );  // 用要设置的月份减去1, 所以1月为0;

对日期进行操作

获取当前日期

Date curDate = Calendar.getInstance().getTime();

Date和Calendar的转化

Date curDate = Calendar.getInstance().getTime();Calendar cal = Calendar.getInstance();cal.setTime( curDate );Date newDate = cal.getTime();

获取当前日期的前n天

通过add()来实现,之前的用-符号来表示获取之前的days天;

cal.setTime( curDate );cal.add( Calendar.DAY_OF_YEAR, -days );

获取指定日期当月的最后一天

int day = cal.getActualMaximum( Calendar.DATE );

String和Date的转换

Date to String

Date date = new Date();SimpeDateFormat df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );String dateStr = df.format( date );

String to Date

SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );Date date = df.parse( dateStr );

注意:字符串中的“HH:mm:ss”,这里是使用HH还是hh决定了最后的时间是24小时制(HH)还是12小时制(hh).