ToolUtil.java
上传用户:lm2018
上传日期:2015-12-12
资源大小:30449k
文件大小:3k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package com.oa.util;
  2. import java.text.DateFormat;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5. import java.util.TimeZone;
  6. public class ToolUtil {
  7. public static String getDate(){
  8. Date date = new Date();
  9. DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
  10. String d =df.format(date);
  11. return d;
  12. }
  13. public static String getNowDate(){   
  14. Date date = new Date();
  15. String SIMPLE_DATE_FORMAT = "yyyy-MM-dd HH:mm";  
  16.     
  17. SimpleDateFormat simpleDateFormat;   
  18.   
  19. simpleDateFormat = new SimpleDateFormat(SIMPLE_DATE_FORMAT); 
  20. simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
  21.     return null==date?null:simpleDateFormat.format(date);   
  22. }   
  23. public static int parseInt(String str){
  24. int result =0;
  25. try {
  26. result = Integer.parseInt(str);
  27. } catch (Exception e) {
  28. result =0;
  29. }
  30. return result;
  31. }
  32. public static String plusTime(String datehm, int mm) {
  33. //拆分日期和时间,存入长度为2的字符串数组
  34. String[] dt = datehm.split(" ");
  35. //拆分年、月、日,存入长度为3的字符串数组
  36. String[] ymd = dt[0].split("-");
  37. int year = ToolUtil.parseInt(ymd[0]);
  38. int month = ToolUtil.parseInt(ymd[1]);
  39. int day = ToolUtil.parseInt(ymd[2]);
  40. //拆分小时和分钟,存入长度为2的字符串数组
  41. String[] hm = dt[1].split(":");
  42. int maxday = 0;//当月最大天数
  43. String number = "01,03,05,07,08,10,12";//大月31天
  44. String[] nums = number.split(",");
  45. for (int i = 0; i < nums.length; i++) {
  46. if(ymd[1].equals(nums[i])){
  47. maxday = 31;
  48. break;
  49. }
  50. }
  51. String number1 = "04,06,09,11";//小月30天
  52. String[] nums1 = number1.split(",");
  53. for (int i = 0; i < nums1.length; i++) {
  54. if(ymd[1].equals(nums1[i])){
  55. maxday = 30;
  56. break;
  57. }
  58. }
  59. if( year%400==0 || (year%4==0 && year%100!=0)){//判断闰年
  60. if(month==2){
  61. maxday = 28;
  62. }
  63. }else{
  64. if(month==2){
  65. maxday = 29;
  66. }
  67. }
  68. int hour = ToolUtil.parseInt(hm[0]);
  69. int minute = ToolUtil.parseInt(hm[1]);
  70. minute = minute + mm;
  71. if(minute>=60){//相加后分钟是否超过最大分钟
  72. minute = minute - 60;
  73. hour = hour+1;
  74. }
  75. if(hour>=24){//相加后时钟是否超过最大时钟
  76. hour = hour - 24;
  77. day = day+1;
  78. }
  79. if(day>maxday){//相加后日期是否超过当月最大天数
  80. day = day - maxday;
  81. month = month+1;
  82. }
  83. if(month>12){//相加后月份是否超过最大月数
  84. month = month - 12;
  85. year = year + 1;
  86. }
  87. String newdate = year+"-";
  88. if(month<10){
  89. newdate+= "0"+month+"-";
  90. }else{
  91. newdate+= month+"-";
  92. }
  93. if(day<10){
  94. newdate+= "0"+day;
  95. }else{
  96. newdate+= day;
  97. }
  98. if(hour<10){
  99. newdate+= " 0"+hour+":";
  100. }else{
  101. newdate+= " "+hour+":";
  102. }
  103. if(minute<10){
  104. newdate+= "0"+minute;
  105. }else{
  106. newdate+= minute;
  107. }
  108. return newdate;
  109. }
  110. }