快速业务通道

Java日期操作实例 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25

Java日期操作实例

时间:2009-10-10 javaeye

定义:周日 --> 周六  为整的一周 。 每周从周日开始算起

业务需求:

1.每周的 周一 周二 周五 上课。

2.计算上完50节课后计算最后一天是日期。

Java代码

package com.test; import java.util.Calendar; /**  * @author: polly   * @version:1.0   * @category:19/08/09  * @see:  *   定义:周日 --> 周六 为整的一周 。 每周从周日开始算起  *   业务需求:  *   1.每周的 周一 周二 周五 上课。  *   2.计算上完50节课后计算最后一天是日期。  *  * */ public class CalcTest {   //定义一周所要上课的天数。 定义为 周一 周二 周五 三天上课!   static final int HAVEClass_OF_WEEK = 3;      // 定义该课程为50节   static final int COURSENUM = 9 ;   public static void main(String [] args){     //定义上完全部所需要多少周,取整数       int weekCount = -1;     //取整后多余的天数     int surplusDay = -1;     //获取上了多少次课.     int count = 0;     // 取整后所剩的课程数       int surplusClass = -1;        //上课所花的时间总数       int total = 0;     Calendar calendar=Calendar.getInstance();     //获取今天是周几     int weekdays = (calendar.get(Calendar.DAY_OF_WEEK)-1);       /* 定义一周中所要上课的天数,若上课一天count+1;         * 周一 周二 周五 上课         * 今天是周三,这个星期只有周五上课。         */     switch (weekdays){     case 0:     case 1: //上课       count ++ ;     case 2: //上课       count ++ ;     case 3:     case 4:     case 5: //上课       count ++ ;     case 6:       break;     }     /*     * 计算今天是周几,如果不是周末,则计算到周六还有几天      * (因为从周日算成一周的开始)      */     if(0 != weekdays)       surplusDay = 6 - weekdays;     //获取上课所用多少周,取整     weekCount = (COURSENUM-count) / HAVEClass_OF_WEEK;     //获取取整后剩下的课程数     surplusClass =(COURSENUM-count) - (weekCount * HAVEClass_OF_WEEK) ;    /*     * 计算取整周后剩下的课程数。 (从每周日开始算起)     * 若不剩课程,则日期-1 (因为取整后的最后一天为周六,不上课),     * 则计算周五的日期      * 若还剩1节课,肯定是 周一上课,所以天数+2天     * 若还剩2节课,则 周一 周二 上课,所以天数+3天     * 若还剩3节课,则 周一 周二 周五上课,所以天数+6天    */     switch (surplusClass){     case 0:       surplusDay = surplusDay - 1;       break;     case 1:       surplusDay += 2;       break;     case 2:       surplusDay += 3;       break;     case 5:       surplusDay += 6;       break;     }     //要上课所用的总天数     total = surplusDay + (weekCount * 7) ;     //设置课程结束当天的日期     calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+total);     //如果取整后所剩下的课程数为零,直接就是取周五的日期     System.out.println("学完这个课程的时间跨度是"+total+"天 , 上完课程后的日期: "+calendar.get(Calendar.YEAR)+"-"+(calendar.get(Calendar.MONTH)+1)+"-"+calendar.get(Calendar.DATE)+" 星期:"+(calendar.get(Calendar.DAY_OF_WEEK)-1));   }

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号