📄 dateutility.java
字号:
package com.publish.shop.util.javabeans;import java.lang.reflect.Field;import java.sql.Connection;import java.sql.Timestamp;import java.text.DecimalFormat;import java.text.DecimalFormatSymbols;import java.text.MessageFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.GregorianCalendar;import java.util.HashMap;import java.util.List;import java.util.Locale;import java.util.Map;import java.util.ResourceBundle;import java.util.StringTokenizer;import java.util.Vector;import java.util.HashSet;public class DateUtility { public static java.sql.Date GetDate(String asDate,String asMask) { // validate if (asDate == null || asDate.equals("")) { return null; } int liYearIndex; int liYearPos = asMask.indexOf("yyyy",0); if(liYearPos == -1) { liYearPos = asMask.indexOf("yy",0); if(liYearPos==0) asMask="yy"+asMask; else if(liYearPos==6) asMask=asMask+"yy"; else asMask=asMask.substring(0,3)+"yyyy"+asMask.substring(5); } int liDayPos = asMask.indexOf("dd",0); int liMonthPos = asMask.indexOf("MM",0); int liMaxVal=MaxVal(liDayPos,liMonthPos,liYearPos); int liMedVal=MedVal(liDayPos,liMonthPos,liYearPos); String lsSep = asMask.substring(liMaxVal-1,liMaxVal); if(liYearPos ==liMaxVal) liYearIndex=2; else if(liYearPos==liMedVal)liYearIndex = 1; else liYearIndex=0; if(asDate.length() < 10) { asDate = PadDateStr(asDate,lsSep,liYearIndex); } String lsDay = asDate.substring(liDayPos,liDayPos+2); String lsMonth = asDate.substring(liMonthPos,liMonthPos+2); String lsYear = asDate.substring(liYearPos,liYearPos+4); Debug.println("DT="+lsDay+"-"+lsMonth+"-"+lsYear); return GetSqlDate(Integer.parseInt(lsDay), Integer.parseInt(lsMonth), Integer.parseInt(lsYear)); }//end GetDate public static java.sql.Date GetCurrentSqlDate() { Calendar lvCal = Calendar.getInstance(); java.sql.Date lvSqlDate = null; lvSqlDate = new java.sql.Date((lvCal.getTime().getTime()/1000)*1000); lvCal.clear(); return lvSqlDate; }//end GetSqlDate public static java.sql.Date GetSqlDate(int aiDay, int aiMon, int aiYear) { Calendar lvCal = Calendar.getInstance(); java.sql.Date lvSqlDate = null; lvCal.set(aiYear, aiMon-1, aiDay,0,0,0); lvSqlDate = new java.sql.Date((lvCal.getTime().getTime()/1000)*1000); lvCal.clear(); return lvSqlDate; }//end GetSqlDate private static String PadDateStr(String asDate, String asSep, int aiYearIndex) { String lsVal[] = new String[3]; int liPos = asDate.indexOf(asSep,0); lsVal[0] = asDate.substring(0,liPos); lsVal[1] = asDate.substring(liPos+1,asDate.indexOf(asSep,liPos+1)); liPos = asDate.indexOf(asSep,liPos+1); lsVal[2] = asDate.substring(liPos+1,asDate.length()); for(int i=0;i<3;i++) { if(i==aiYearIndex) { if (lsVal[i].length() ==2) { int liVal=(Integer.valueOf(lsVal[i])).intValue(); if (liVal > 69 && liVal < 100) lsVal[i]="19"+lsVal[i]; else lsVal[i]="20"+lsVal[i]; } else { lsVal[i]=lsVal[i]; } } else { if (lsVal[i].length()==1) lsVal[i]="0"+lsVal[i]; else lsVal[i]=lsVal[i]; } } return (lsVal[0]+asSep+lsVal[1]+asSep+lsVal[2]); } /** * Returns the maximum value out of three parameters. * @Method Name: MaxVal * @version 1.0 * @author TCS * @param aix value 1 * @param aiy value 2 * @param aiz value 3 * @return returns the maximum value * @Version Author Date Change Description */ private static int MaxVal(int aix, int aiy,int aiz) { int liVal1; int liMaxVal; if(aix > aiy) { liVal1=aix; } else { liVal1=aiy; } if(liVal1 > aiz) { liMaxVal=liVal1; } else { liMaxVal=aiz; } return liMaxVal; } /** * Returns the medium value out of three parameters. * @Method Name: MedVal * @version 1.0 * @author TCS * @param aix value 1 * @param aiy value 2 * @param aiz value 3 * @return returns the medium value * @Version Author Date Change Description */ private static int MedVal(int aix,int aiy,int aiz) { int liMedVal=0; if(aix > aiy && aix > aiz) { if(aiy > aiz) liMedVal = aiy; else liMedVal = aiz; } else if(aix > aiy && aix < aiz) { liMedVal = aix; } else if(aix < aiy && aix < aiz) { if(aiy > aiz) liMedVal = aiz; else liMedVal = aiy; } else if(aix < aiy && aix > aiz) { liMedVal = aix; } return liMedVal; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -