1.基础 Date,这个大家都认识了,用于保存日期信息,但不推荐进行日期操作及初始化特定日期 Calendar及其子类GregorianCalendar:日历类,日期操作,初始化特定日期。 DateFormat及其子类SimpleDateformat: 日期格式化,日期的默认显示方式不适合中国人,所以需要格式化为中国人常用的格式来显示。 取得当期日期, Date date=new Date(); 初始化特定日期:假设我们要得到日期为2006-10-27日的对象,需要按如下方式获得。 Calendar cal = new GregorianCalendar(2006, 9, 27,0,0,0); 注意:date,getTime()取得的是当期时间的毫秒数,月份比实际的减1 GregorianCalendar构造方法参数依次为:年,月-1,日,小时,分,秒 格式化为我们熟悉的方式显示: DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH;mm:ss"); 日期 年,月,日,分,秒的取得 Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month=cal.get(Calendar.MONTH)+1; int day = cal.get(Calendar.DAY_OF_MONTH); int hour = cal.get(Calendar.HOUR_OF_DAY); int minute = cal.get(Calendar.MINUTE); int second = cal.get(Calendar.SECOND); 注意:月份,实际的月份要比Clendar得到的加1,因为java月份是从0~11 2.日期基本操作 得到两个日期相差的天数 Date endDate=.. Date startDate = ... 相差天数 int days=(int) ((endDate.getTime()-startDate.getTime())/(1000*24*60*60)+0.5); 得到某个月的天数 Calendar cal = Calendar.getInstance(); int month=cal.getActualMaximum(Calendar.DAY_OF_MONTH); 日期加1天 cal.add(Calendar.DATE, 1);//日期加1天 Calendar.YEAR,Calendar.MONTH,Calendar.WEEK_OF_YEAR),分别是年,月,周 3,java.sql,Date()和java.util.Date(); 前面我们说的都是java.util.Date类,java.sql.Date类是操作数据库用的日期类型 java.util.Date date=.... java.sql.Date sqldate=new java.sql.Date(date.getTime()); 也可以这样:String date="2005-11-10"; java.sql.Date sqlDate=java.sql.Date.valueOf(date); 4,定时器 a,编写类,实现TimeTask接口,定时执行的代码写入run()方法中 b. timer.schedule(TimeTask子类对象, 开始执行的日期, 周期); 周期为毫秒数 例子: 类MyTask: import java.util.*; public class MyTask extends TimerTask { 类TimerDemo: import java.util.Timer; public class TimerDemo { |
|