| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 将指定格式的字符串转换为日期型 |
| | | * |
| | | * @param strDate |
| | | * - 日期 |
| | | * @param oracleFormat |
| | | * --oracle型日期格式 |
| | | * @return 转换得到的日期 |
| | | */ |
| | | @SuppressWarnings("unchecked") |
| | | public static Date stringToDate(String strDate, String oracleFormat) { |
| | | if (strDate == null) |
| | | return null; |
| | | Hashtable<Integer, String> h = new Hashtable<Integer, String>(); |
| | | String javaFormat = new String(); |
| | | String s = oracleFormat.toLowerCase(); |
| | | if (s.indexOf("yyyy") != -1) |
| | | h.put(new Integer(s.indexOf("yyyy")), "yyyy"); |
| | | else if (s.indexOf("yy") != -1) |
| | | h.put(new Integer(s.indexOf("yy")), "yy"); |
| | | if (s.indexOf("mm") != -1) |
| | | h.put(new Integer(s.indexOf("mm")), "MM"); |
| | | |
| | | if (s.indexOf("dd") != -1) |
| | | h.put(new Integer(s.indexOf("dd")), "dd"); |
| | | if (s.indexOf("hh24") != -1) |
| | | h.put(new Integer(s.indexOf("hh24")), "HH"); |
| | | if (s.indexOf("mi") != -1) |
| | | h.put(new Integer(s.indexOf("mi")), "mm"); |
| | | if (s.indexOf("ss") != -1) |
| | | h.put(new Integer(s.indexOf("ss")), "ss"); |
| | | |
| | | int intStart = 0; |
| | | while (s.indexOf("-", intStart) != -1) { |
| | | intStart = s.indexOf("-", intStart); |
| | | h.put(new Integer(intStart), "-"); |
| | | intStart++; |
| | | } |
| | | |
| | | intStart = 0; |
| | | while (s.indexOf("/", intStart) != -1) { |
| | | intStart = s.indexOf("/", intStart); |
| | | h.put(new Integer(intStart), "/"); |
| | | intStart++; |
| | | } |
| | | |
| | | intStart = 0; |
| | | while (s.indexOf(" ", intStart) != -1) { |
| | | intStart = s.indexOf(" ", intStart); |
| | | h.put(new Integer(intStart), " "); |
| | | intStart++; |
| | | } |
| | | |
| | | intStart = 0; |
| | | while (s.indexOf(":", intStart) != -1) { |
| | | intStart = s.indexOf(":", intStart); |
| | | h.put(new Integer(intStart), ":"); |
| | | intStart++; |
| | | } |
| | | |
| | | if (s.indexOf("年") != -1) |
| | | h.put(new Integer(s.indexOf("年")), "年"); |
| | | if (s.indexOf("月") != -1) |
| | | h.put(new Integer(s.indexOf("月")), "月"); |
| | | if (s.indexOf("日") != -1) |
| | | h.put(new Integer(s.indexOf("日")), "日"); |
| | | if (s.indexOf("时") != -1) |
| | | h.put(new Integer(s.indexOf("时")), "时"); |
| | | if (s.indexOf("分") != -1) |
| | | h.put(new Integer(s.indexOf("分")), "分"); |
| | | if (s.indexOf("秒") != -1) |
| | | h.put(new Integer(s.indexOf("秒")), "秒"); |
| | | |
| | | int i = 0; |
| | | while (h.size() != 0) { |
| | | Enumeration e = h.keys(); |
| | | int n = 0; |
| | | while (e.hasMoreElements()) { |
| | | i = ((Integer) e.nextElement()).intValue(); |
| | | if (i >= n) |
| | | n = i; |
| | | } |
| | | String temp = (String) h.get(new Integer(n)); |
| | | h.remove(new Integer(n)); |
| | | |
| | | javaFormat = temp + javaFormat; |
| | | } |
| | | SimpleDateFormat df = new SimpleDateFormat(javaFormat); |
| | | |
| | | Date myDate = new Date(); |
| | | try { |
| | | myDate = df.parse(strDate); |
| | | } catch (Exception e) { |
| | | // e.printStackTrace(); |
| | | return null; |
| | | } |
| | | |
| | | return myDate; |
| | | } |
| | | |
| | | public static Date StringToDate(String DATE1) { |
| | | DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | |
| | | } |
| | | } |
| | | return length; |
| | | } |
| | | |
| | | /** |
| | | * 得到X分钟后的时间(时间格式) |
| | | * |
| | | * @param date |
| | | * @param minute |
| | | * @return |
| | | */ |
| | | public static Date getXMinuteAfterDate(Date date, int minute) { |
| | | Calendar now = Calendar.getInstance(); |
| | | now.setTime(date); |
| | | now.set(Calendar.MINUTE, now.get(Calendar.MINUTE) + minute); |
| | | return now.getTime(); |
| | | } |
| | | |
| | | /** |
| | |
| | | // StringUtil.getNotNullStr(request.getParameter(strParamName)); |
| | | // return getDateByString(strStr); |
| | | // } |
| | | /** |
| | | * 得到当前日期,格式yyyy-MM-dd。 |
| | | * |
| | | * @return String 格式化的日期字符串 |
| | | */ |
| | | public static String getCurrDate() { |
| | | return getFormattedDate(getDateByString("")); |
| | | } |
| | | |
| | | /** |
| | | * 得到当前日期,格式yyyy-MM-dd。 |
| | |
| | | public static String getCurrDateTime() { |
| | | Timestamp date = new Timestamp(System.currentTimeMillis()); |
| | | SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); |
| | | return formatter.format(date); |
| | | } |
| | | |
| | | /** |
| | | * 得到当前日期时间,格式为yyyy-MM-dd. |
| | | * |
| | | * @return String |
| | | */ |
| | | public static String getCurrDate() { |
| | | Timestamp date = new Timestamp(System.currentTimeMillis()); |
| | | SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); |
| | | return formatter.format(date); |
| | | } |
| | | |
| | |
| | | return DateToStr(date, "yyyyMMdd"); |
| | | } |
| | | |
| | | public static String afterDateHourToStr(Integer hour){ |
| | | Date date = new Date(); |
| | | Long l = date.getTime()+1000*60*60*hour; |
| | | date.setTime(l); |
| | | return DateToStr(date, "yyyyMMdd"); |
| | | } |
| | | |
| | | public static String beforeDateToStr(Integer days){ |
| | | Date date = new Date(); |
| | | Long l = date.getTime()-1000*60*60*24*days; |
| | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 获取X天后的日期 |
| | | * @param date |
| | | * @param beforDays 明天 -1 昨天 1 |
| | | * @return |
| | | */ |
| | | public static String getBeforDay(Date date,Integer beforDays){ |
| | | ZonedDateTime zonedDateTime = date.toInstant().atZone(ZoneId.systemDefault()); |
| | | // 转换为java.time.LocalDate,计算x天的日期 |
| | | LocalDate dateBeforeDay = zonedDateTime.toLocalDate().minusDays(beforDays); |
| | | return dateBeforeDay.toString(); |
| | | } |
| | | |
| | | |
| | | } |