当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
Java中Date各种相关用法(1)
发布时间:2010/9/14 10:37:36 来源:城市学习网 编辑:ziteng
  1.计算某一月份的最大天数
  Java代码
  Calendar time=Calendar.getInstance();
  time.clear();
  time.set(Calendar.YEAR,year);
  time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0
  int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
  注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间
  2.Calendar和Date的转化
  (1) Calendar转化为Date
  Java代码
  Calendar cal=Calendar.getInstance();
  Date date=cal.getTime();
  (2) Date转化为Calendar
  Java代码
  Date date=new Date();
  Calendar cal=Calendar.getInstance();
  cal.setTime(date);
  3.格式化输出日期时间
  Java代码
  Date date=new Date();
  SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
  System.out.println(df.format(date));
  4.计算一年中的第几星期
  (1)计算某一天是一年中的第几星期
  Java代码
  Calendar cal=Calendar.getInstance();
  cal.set(Calendar.YEAR, 2006);
  cal.set(Calendar.MONTH, 8);
  cal.set(Calendar.DAY_OF_MONTH, 3);
  int weekno=cal.get(Calendar.WEEK_OF_YEAR);
  (2)计算一年中的第几星期是几号
  Java代码
  SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
  Calendar cal=Calendar.getInstance();
  cal.set(Calendar.YEAR, 2006);
  cal.set(Calendar.WEEK_OF_YEAR, 1);
  cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
  System.out.println(df.format(cal.getTime()));
  输出:
  2006-01-02
  5.add()和roll()的用法
  (1)add()方法
  Java代码
  SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
  Calendar cal=Calendar.getInstance();
  cal.set(Calendar.YEAR, 2006);
  cal.set(Calendar.MONTH, 8);
  cal.set(Calendar.DAY_OF_MONTH, 3);
  cal.add(Calendar.DATE, -4);
  Date date=cal.getTime();
  System.out.println(df.format(date));
  cal.add(Calendar.DATE, 4);
  date=cal.getTime();
  System.out.println(df.format(date));
  输出:
  2006-08-30
  2006-09-03
  (2)roll方法
  Java代码
  cal.set(Calendar.YEAR, 2006);
  cal.set(Calendar.MONTH, 8);
  cal.set(Calendar.DAY_OF_MONTH, 3);
  cal.roll(Calendar.DATE, -4);
  date=cal.getTime();
  System.out.println(df.format(date));
  cal.roll(Calendar.DATE, 4);
  date=cal.getTime();
  System.out.println(df.format(date));
  输出:
  2006-09-29
  2006-09-03
  可见,roll()方法在本月内循环,一般使用add()方法;
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved