JAVA-各种日期算法大全_第1页
JAVA-各种日期算法大全_第2页
JAVA-各种日期算法大全_第3页
JAVA-各种日期算法大全_第4页
JAVA-各种日期算法大全_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、public class DateTime /- /* * 得到系统当前年的数据字符串 * return strYear 返回的结果,格式 yyyy ,String 类型 * exception 得到系统当前年的数据字符串错误 */ public String getYear() String strYear=; Date currentDate = new Date(); SimpleDateFormat formatter = new SimpleDateFormat (yyyy); strYear= formatter.format(currentDate); return strYea

2、r; /- /* * 得到系统当前年月数据字符串 * return strYearMonth 返回的结果,格式 yyyy-MM,String 类型 * exception 得到系统当前年月数据字符串错误 */ public String getYearMonth() String strYearMonth=; Date currentDate = new Date(); SimpleDateFormat formatter = new SimpleDateFormat (yyyy-MM); strYearMonth= formatter.format(currentDate); return

3、strYearMonth; /- /* * 得到系统当前年月日数据字符串 * return strCurrentDate 返回的结果,格式 yyyy-MM-dd,String 类型 * exception 得到系统当前年月日数据字符串错误 */ public static String getDate() String strCurrentDate=; Date currentDate = new Date(); SimpleDateFormat formatter = new SimpleDateFormat (yyyy-MM-dd); strCurrentDate= formatter.f

4、ormat(currentDate); return strCurrentDate; /- /* * 得到系统当前小时,秒,分数据字符串 * return strCurrentTime 返回的结果,格式 HH:mm:ss,String 类型 * exception 得到系统当前小时,秒,分数据字符串错误 */ public String getTime() String strCurrentTime=; Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat (HH:mm:ss); str

5、CurrentTime= formatter.format(currentTime); return strCurrentTime; /- /* * 得到系统当前年月日小时分秒数据字符串 * return strCurrentDateTime 返回的结果,格式 yyyy-MM-dd HH:mm:ss ,String 类型 * exception 得到系统当前年月日小时分秒数据字符串错误 */ public String getDateTime() String strCurrentDateTime=; Date currentDateTime = new Date(); SimpleDateF

6、ormat formatter = new SimpleDateFormat (yyyy-MM-dd HH:mm:ss); strCurrentDateTime= formatter.format(currentDateTime); return strCurrentDateTime; /- /* * 得到系统当前年月日数据字符串 * return strYMD 返回的结果,格式 yyyyMMdd ,String 类型 * exception 得到系统当前年月日数据字符串错误 */ public String getYMD() String strYMD=; Date currentDateT

7、ime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat (yyyyMMdd); strYMD= formatter.format(currentDateTime); return strYMD; /- public static String getYYYYMMddHHmmss(Date date) String strYMD=; SimpleDateFormat formatter = new SimpleDateFormat (yyyyMMddHHmmss); strYMD= formatter.format(

8、date); return strYMD; /- /* * 得到对比日期变化的目标日期 getDateChange(20031015,1)=20031016; * param strCurrentDate 当前日期 格式 20000101 * param iQuantity 变化的数量 以天为单位 * return strTarget 返回的结果,格式 20000101,String 类型 * exception 得到对比日期变化的目标日期错误 */ public String getYMDDateChange(String strCurrentDate,int iQuantity) Stri

9、ng strTarget=; int iYear = Integer.parseInt(strCurrentDate.substring(0, 4); int iMonth = Integer.parseInt(strCurrentDate.substring(4, 6); int iDay = Integer.parseInt(strCurrentDate.substring(6, 8); Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, iYear); cal.set(Calendar.MONTH, iMonth-1

10、); cal.set(Calendar.DAY_OF_MONTH, iDay); cal.add(Calendar.DATE, iQuantity); Date currentDate = cal.getTime(); SimpleDateFormat formatter = new SimpleDateFormat (yyyyMMdd); strTarget= formatter.format(currentDate); return strTarget; /- /* * 得到系统当前年月日小时分秒数据字符串 * return strYMDHMS 返回的结果,格式 yyyyMMddHHmms

11、s,String 类型 * exception 得到系统当前年月日小时分秒数据字符串错误 */ public static String getYMDHMS() String strYMDHMS=; Date currentDateTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat (yyyyMMddHHmmss); strYMDHMS= formatter.format(currentDateTime); return strYMDHMS; /- /* * 得到系统当前年月日小时分秒毫秒数据字符串 * re

12、turn strYMDHMSS 返回的结果,格式 yyyyMMddHHmmssSSS,String 类型 * exception 得到系统当前年月日小时分秒毫秒数据字符串错误 */ public static String getYMDHMSS() String strYMDHMSS=; Date currentDateTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat (yyyyMMddHHmmssSSS); strYMDHMSS= formatter.format(currentDateTime); re

13、turn strYMDHMSS; /- /* * 日期格式转换从yyyy-MM-dd HH:mm:ss到 yyyyMMddHHmmss * param strDateTime 日期格式为yyyy-MM-dd HH:mm:ss的数据 * return strYMDHMS 返回的结果, 日期格式为yyyyMMddHHmmss的数据,String 类型 * exception 日期格式转换从yyyy-MM-dd HH:mm:ss到 yyyyMMddHHmmss错误 */ public String stringToNumber(String strDateTime) String strYMDHMS

14、=; if(strDateTime.length()=10) strYMDHMS=strDateTime.substring(0,4)+strDateTime.substring(5,7)+strDateTime.substring(8,10); if(strDateTime.length()=19) strYMDHMS=strDateTime.substring(0,4)+strDateTime.substring(5,7)+strDateTime.substring(8,10) +strDateTime.substring(11,13)+strDateTime.substring(14,1

15、6)+strDateTime.substring(17,19); return strYMDHMS; /- /* * 日期格式转换从yyyyMMddHHmmss到yyyy-MM-dd HH:mm:ss * param strYMDHMS 日期格式为yyyyMMddHHmmss的数据 * return strDateTime 返回的结果, 日期格式为yyyy-MM-dd HH:mm:ss的数据,String 类型 * exception 日期格式转换从yyyyMMddHHmmss到yyyy-MM-dd HH:mm:ss错误 */ public String numberToString(Stri

16、ng strYMDHMS) String strDateTime=; if(strYMDHMS.length()=8) strDateTime=strYMDHMS.substring(0,4)+-+strYMDHMS.substring(4,6)+-+strYMDHMS.substring(6,8); if(strYMDHMS.length()=14) strDateTime=strYMDHMS.substring(0,4)+-+strYMDHMS.substring(4,6)+-+strYMDHMS.substring(6,8) + +strYMDHMS.substring(8,10)+:+

17、strYMDHMS.substring(10,12)+:+strYMDHMS.substring(12,14); return strDateTime; /- /* * 得到系统昨天年月日,格式 yyyyMMdd * return strYYMD 返回的结果, 日期格式为yyyyMMdd的数据,String 类型 * exception 得到系统昨天年月日,格式 yyyyMMdd错误 */ public String getAgoYMD() String strYYMD=; String strYesterdayDateTime=getDateChange(getDate(),-1); Str

18、ing strYear = strYesterdayDateTime.substring(0, 4); String strMonth = strYesterdayDateTime.substring(5, 7); String strDay = strYesterdayDateTime.substring(8, 10); strYYMD= strYear+strMonth+strDay; return strYYMD; /- /* * 得到系统昨天年月日,格式 yyyy-MM-dd * return strYDate 返回的结果, 日期格式为yyyy-MM-dd的数据,String 类型 *

19、 exception 得到系统昨天年月日,格式 yyyy-MM-dd错误 */ public String getAgoDate() String strYDate=; strYDate=getDateChange(getDate(),-1); return strYDate; /- /* * 得到系统上个月的年月数据,格式 yyyyMM * return strYYM 返回的结果, 日期格式为yyyyMM的数据,String 类型 * exception 得到系统上个月的年月数据,格式 yyyyMM错误 */ public String getAgoYM() String strYYM=;

20、String strYearMonth = getYearMonth(); strYYM = getMonthChange(strYearMonth,-1); strYYM = strYYM.substring(0, 4)+strYYM.substring(5, 7); return strYYM; /- /* * 得到系统上个月的年月数据,格式 yyyy-MM * return strYYM 返回的结果, 日期格式为yyyy-MM的数据,String 类型 * exception 得到系统上个月的年月数据错误 */ public String getAgoYearMonth() String

21、 strYYearMonth=; String strYearMonth = getYearMonth(); strYYearMonth = getMonthChange(strYearMonth,-1); return strYYearMonth; /- /* * 得到系统当前日期是星期几,格式 星期一 * return strCurrentWeek 返回的结果, 日期格式为星期一的数据,String 类型 * exception 得到系统当前日期是星期几错误 */ public String getWeek() String strCurrentWeek=; Date currentWee

22、k = new Date(); SimpleDateFormat formatter = new SimpleDateFormat (E); strCurrentWeek= formatter.format(currentWeek); return strCurrentWeek; /- /* * 得到任意输入的一个日期的星期数,格式 星期一 * return strWeek 返回的结果, 日期格式为星期一的数据,String 类型 * exception 得到任意输入的一个日期的星期数错误 */ public String getDateToWeek(String strDate) Strin

23、g strWeek=; int iYear = Integer.parseInt(strDate.substring(0, 4); int iMonth = Integer.parseInt(strDate.substring(5, 7); int iDay = Integer.parseInt(strDate.substring(8, 10); Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, iYear); cal.set(Calendar.MONTH, iMonth-1); cal.set(Calendar.DAY

24、_OF_MONTH, iDay); Date currentDate = cal.getTime(); SimpleDateFormat formatter = new SimpleDateFormat(E); strWeek= formatter.format(currentDate); return strWeek; /- /* * 得到系统当前日期是一年中的第几个星期 * return strCurrentWeekInYear 返回的结果,String 类型 * exception 得到系统当前日期是一年中的第几个星期错误 */ public String getWeekInYear()

25、 String strCurrentWeekInYear=; Date currentDate = new Date(); SimpleDateFormat formatter = new SimpleDateFormat (w); strCurrentWeekInYear= formatter.format(currentDate); return strCurrentWeekInYear; /- /* * 得到当前星期日的日期 * return begin 返回的结果,Calendar 类型 * exception 得到当前星期日的日期错误 */ public Calendar getWe

26、ekStar() Calendar begin=Calendar.getInstance(); int iCurrentWeek = begin.get(Calendar.DAY_OF_WEEK); switch (iCurrentWeek) case 1: return begin; case 2: begin.add(Calendar.DATE, -1); return begin; case 3: begin.add(Calendar.DATE, -2); return begin; case 4: begin.add(Calendar.DATE, -3); return begin;

27、case 5: begin.add(Calendar.DATE, -4); return begin; case 6: begin.add(Calendar.DATE, -5); return begin; case 7: begin.add(Calendar.DATE, -6); return begin; default: return begin; /- /* * 得到当前星期六的日期 * return end 返回的结果,Calendar 类型 * exception 得到当前星期六的日期错误 */ public Calendar getWeekEnd() Calendar end=C

28、alendar.getInstance(); int iCurrentWeek = end.get(Calendar.DAY_OF_WEEK); switch (iCurrentWeek) case 1: end.add(Calendar.DATE, 6); return end; case 2: end.add(Calendar.DATE, 5); return end; case 3: end.add(Calendar.DATE, 4); return end; case 4: end.add(Calendar.DATE, 3); return end; case 5: end.add(C

29、alendar.DATE, 2); return end; case 6: end.add(Calendar.DATE, 1); return end; case 7: return end; default: return end; /- /* * 得到系统当前星期周日到今天的日期数据 * return datelist 返回的结果,LinkedList 类型 * exception 得到系统当前星期周日到今天的日期数据错误 */ public LinkedList getSundayToToday() String strBeginDate=; String strEndDate=; Ca

30、lendar begin=getWeekStar(); Date beginDate = begin.getTime(); SimpleDateFormat formatter = new SimpleDateFormat (yyyy-MM-dd); strBeginDate= formatter.format(beginDate); Date currentDate = new Date(); strEndDate= formatter.format(currentDate); LinkedList datelist= dateToDate(strBeginDate,strEndDate);

31、 return datelist; /- /* * 得到当前星期的日期区间,格式 2003-11-23 to 2003-11-29 * return strTargetData 返回的结果, 格式 2003-11-23 to 2003-11-29,String 类型 * exception 得到当前星期的日期区间错误 */ public String getWeekArea() String strTargetData=; String strBeginDate=; String strEndDate=; Calendar begin=getWeekStar(); Calendar end=g

32、etWeekEnd(); Date beginDate = begin.getTime(); SimpleDateFormat formatter = new SimpleDateFormat (yyyy-MM-dd); strBeginDate= formatter.format(beginDate); Date endDate = end.getTime(); strEndDate= formatter.format(endDate); strTargetData=strBeginDate+ to +strEndDate; return strTargetData; /- /* * 得到一

33、年中的某个星期的日期区间,格式 2003-11-23 to 2003-11-29 * return strTargetData 返回的结果, 格式 2003-11-23 to 2003-11-29,String 类型 * exception 得到一年中的某个星期的日期区间错误 */ public String getWeekArea(int iYear,String strWeekInYear) String strTargetData=; HashMap hashm = getAllWeekArea(iYear); strTargetData=(String)hashm.get(strWee

34、kInYear); return strTargetData; /- /* * 得到一年中从开始到当前以星期为间隔的日期区间,格式 1 2000-01-01 to 2003-01-04 * return hashm 返回的结果, 格式 1 2000-01-01 to 2003-01-04,HashMap 类型 * exception 得到一年中从开始到当前以星期为间隔的日期区间错误 */ public HashMap getAllWeekArea(int iYear) HashMap hashm = new HashMap(); String strTargetData=; String st

35、rBeginDate=; String strEndDate=; String strWeekNum=1; Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, iYear); cal.set(Calendar.MONTH, 0); cal.set(Calendar.DAY_OF_MONTH, 1); Date currentDate = cal.getTime(); SimpleDateFormat formatter = new SimpleDateFormat (yyyy-MM-dd); strBeginDate= f

36、ormatter.format(currentDate); int iOne = cal.get(Calendar.DAY_OF_WEEK); switch (iOne) case 1: cal.add(Calendar.DATE, 6); break; case 2: cal.add(Calendar.DATE, 5); break; case 3: cal.add(Calendar.DATE, 4); break; case 4: cal.add(Calendar.DATE, 3); break; case 5: cal.add(Calendar.DATE, 2); break; case

37、 6: cal.add(Calendar.DATE, 1); break; currentDate = cal.getTime(); strEndDate= formatter.format(currentDate); strTargetData=strBeginDate+ to +strEndDate; hashm.put(strWeekNum, strTargetData); for(int i=2;i=52;i+) cal.add(Calendar.DATE, 1); currentDate = cal.getTime(); strBeginDate= formatter.format(currentDate); cal.add(Calendar.DATE, 6); currentDate = cal.getTime(); strEndDate= formatter.format(currentDate); strTargetData=strBe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论