java时间操作函数汇总 - Java编程.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《java时间操作函数汇总 - Java编程.pdf》由会员分享,可在线阅读,更多相关《java时间操作函数汇总 - Java编程.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 没有公告加入收藏设为首页联系站长|网站首页|数据库教程|web编程|服务器|程序设计|java时间操作函数汇总-Java编程http:/ 16 页)2007-10-5 12:36:05|程序设计首页|C语言编程|VC编程|VB编程|Delphi编程|Java编程|PowerBuilder|您现在的位置:网络学院 程序设计 Java编程 文章正文 java时间操作函数汇总 【字体:小 大】java时间操作函数汇总作者:佚名 文章来源:不详 点击数:13 更新时间:2007-9-2 1.计算某一月份的最大天数 Calendar time=Calendar.getInstance();time.c
2、lear();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 Calendar cal=Calendar.getInstance();Date date=cal.getTime();(2)Date转化为Calen
3、dar Date date=new Date();Calendar cal=Calendar.getInstance();cal.setTime(date);3.格式化输出日期时间 Date date=new Date();SimpleDateFormat df=new SimpleDateFormat(yyyy-MM-dd hh:mm:ss);System.out.println(df.format(date);4.计算一年中的第几星期(1)计算某一天是一年中的第几星期 Calendar cal=Calendar.getInstance();cal.set(Calendar.YEAR,200
4、6);cal.set(Calendar.MONTH,8);cal.set(Calendar.DAY_OF_MONTH,3);int weekno=cal.get(Calendar.WEEK_OF_YEAR);(2)计算一年中的第几星期是几号 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,
5、Calendar.MONDAY);System.out.println(df.format(cal.getTime();输出:2006-01-02 5.add()和roll()的用法(1)add()方法 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,
6、-4);Date date=cal.getTime();System.out.println(df.format(date);cal.add(Calendar.DATE,4);date=cal.getTime();java时间操作函数汇总-Java编程System.out.println(df.format(date);输出:2006-08-30 2006-09-03(2)roll方法 cal.set(Calendar.YEAR,2006);cal.set(Calendar.MONTH,8);cal.set(Calendar.DAY_OF_MONTH,3);cal.roll(Calendar.
7、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()方法;6.计算两个任意时间中间的间隔天数(1)传进Calendar对象/*/*计算两个时间之间相隔天数 *param startday 开始时间 *param endday 结束时间 *return */pub
8、lic int getIntervalDays(Calendar startday,Calendar endday)./确保startday在endday之前 if(startday.after(endday).Calendar cal=startday;startday=endday;endday=cal;/分别得到两个时间的毫秒数 long sl=startday.getTimeInMillis();long el=endday.getTimeInMillis();long ei=el-sl;/根据毫秒数计算间隔天数 return(int)(ei/(1000*60*60*24);(2)传进
9、Date对象/*/*计算两个时间之间相隔天数 *param startday 开始时间 *param endday 结束时间 *return */public int getIntervalDays(Date startday,Date endday)./确保startday在endday之前 if(startday.after(endday).Date cal=startday;startday=endday;endday=cal;/分别得到两个时间的毫秒数 long sl=startday.getTime();long el=endday.getTime();long ei=el-sl;/
10、根据毫秒数计算间隔天数 return(int)(ei/(1000*60*60*24);同理,可以用相同的方法计算出任意两个时间相隔的小时数,分钟数,秒钟数等 注:以上方法是完全按时间计算,有时并不能令人满意,如:startday=2006-10-11 20:00:00 endday=2006-10-12 8:00:00 计算结果为0,但是我们也许相让计算结果变为1,此时可以用如下方法实现:在传参之前,先设定endday的时间,如:endday.set(Calendar.HOUR_OF_DAY,23);endday.set(Calendar.MINUTE,59);endday.set(Calen
11、dar.SECOND,59);http:/ 26 页)2007-10-5 12:36:05java时间操作函数汇总-Java编程 endday.set(Calendar.MILLISECOND,59);这样再传进去startday,endday,则结果就如我们所愿了。正在装载数据不过,如果嫌以上方法麻烦,可以参考以下方法:(3)改进精确计算相隔天数的方法 public int getDaysBetween(Calendar d1,Calendar d2).if(d1.after(d2)./swap dates so that d1 is start and d2 is end java.uti
12、l.Calendar swap=d1;d1=d2;d2=swap;int days=d2.get(Calendar.DAY_OF_YEAR)-d1.get(Calendar.DAY_OF_YEAR);int y2=d2.get(Calendar.YEAR);if(d1.get(Calendar.YEAR)!=y2).d1=(Calendar)d1.clone();do.days+=d1.getActualMaximum(Calendar.DAY_OF_YEAR);/得到当年的实际天数 d1.add(Calendar.YEAR,1);while(d1.get(Calendar.YEAR)!=y2
13、);return days;获取系统当前时间:public static String getSystemTime()Date date=new Date();SimpleDateFormat df=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);return df.format(date);/字符串转化成时间类型(字符串可以是任意类型,只要和SimpleDateFormat中的格式一致即可)java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat(M/dd/yyyy hh:mm:ss a,j
14、ava.util.Locale.US);java.util.Date d=sdf.parse(5/13/2003 10:31:37 AM);SimpleDateFormat formatter=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String mDateTime1=formatter.format(d);/当前时间 Calendar cal=Calendar.getInstance();/SimpleDateFormat formatter=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);SimpleDateF
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java时间操作函数汇总 Java编程 java 时间 操作 函数 汇总 编程
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内