📄 commonutil.java
字号:
dtstr = dtstr.trim().length() > 0 ? dtstr.trim().substring(1) : "";
while (!dtstr.equals("")
&& !dtstr.startsWith("-")
&& !dtstr.startsWith(":")
&& !dtstr.startsWith(" ")) {
minute += dtstr.charAt(0);
dtstr = dtstr.trim().substring(1);
}
String second = "0";
dtstr = dtstr.trim().length() > 0 ? dtstr.trim().substring(1) : "";
while (!dtstr.equals("")
&& !dtstr.startsWith("-")
&& !dtstr.startsWith(":")
&& !dtstr.startsWith(" ")) {
second += dtstr.charAt(0);
dtstr = dtstr.trim().substring(1);
}
int iyear = Integer.valueOf(year).intValue() - 1900;
int imonth = Integer.valueOf(month).intValue() - 1;
int idate = Integer.valueOf(date).intValue();
int ihour = Integer.valueOf(hour).intValue();
int iminute = Integer.valueOf(minute).intValue();
int isecond = Integer.valueOf(second).intValue();
java.util.Date uDate = new java.util.Date(iyear, imonth, idate, ihour,
iminute, isecond);
java.sql.Date sDate = new java.sql.Date(0);
sDate.setTime(uDate.getTime());
return sDate;
}
/**
* create a date string format YYYY-MM-DD HH:MM:SS
* "98-1-2" ===> "0098-01-02 00:00:00"
* "1999-1-2 11:9:" ===> "1999-01-02 11:09:00"
*
* @param strDate a string representing date
* @return "YYYY-MM-DD HH:MM:SS" or null
*/
public static String createStandDateStr(String strDate) {
String year, month, day;
String hour = "00";
String minute = "00";
String second = "00";
int i = 0;
//year
String sub = strDate.substring(0);
if (sub.indexOf("-") < 0) {
return null;
}
year = sub.substring(i, sub.indexOf("-")).trim();
if (!CommonUtil.isNumberString(year, 4)) {
return null;
}
year = CommonUtil.setChar(year, '0', 4);
//month
i = sub.indexOf("-") + 1;
sub = sub.substring(i);
if (sub.indexOf("-") < 0) {
return null;
}
month = sub.substring(0, sub.indexOf("-")).trim();
if (!CommonUtil.isNumberString(month, 2)) {
return null;
}
month = CommonUtil.setChar(month, '0', 2);
//day
i = sub.indexOf("-") + 1;
sub = sub.substring(i);
if (sub.indexOf(" ") < 0) {
day = sub.trim();
if (day.length() <= 0) {
return null;
}
if (day.length() <= 2) {
day = sub.trim();
if (!CommonUtil.isNumberString(day, 2)) {
return null;
}
day = CommonUtil.setChar(day, '0', 2);
return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" +
second;
}
else {
return null;
}
}
else {
day = sub.substring(0, sub.indexOf(" ")).trim();
if (day.length() <= 2) {
day = day.trim();
if (!CommonUtil.isNumberString(day, 2)) {
return null;
}
day = CommonUtil.setChar(day, '0', 2);
}
else {
return null;
}
} //end of if(<0)
//hour
i = sub.indexOf(" ") + 1;
sub = sub.substring(i);
if (sub.indexOf(":") < 0) {
hour = sub.trim();
if (hour.length() <= 0) {
return year + "-" + month + "-" + day + " " + "00" + ":" + minute + ":" +
second;
}
if (hour.length() <= 2) {
hour = hour.trim();
if (!CommonUtil.isNumberString(hour, 2)) {
return null;
}
hour = CommonUtil.setChar(hour, '0', 2);
return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" +
second;
}
else {
return null;
}
}
else {
hour = sub.substring(0, sub.indexOf(":")).trim();
if (hour.length() <= 2) {
hour = hour.trim();
if (!CommonUtil.isNumberString(day, 2)) {
return null;
}
hour = CommonUtil.setChar(hour, '0', 2);
}
else {
return null;
}
} //end of if(<0)
//minute
i = sub.indexOf(":") + 1;
sub = sub.substring(i);
if (sub.indexOf(":") < 0) {
minute = sub.trim();
if (minute.length() <= 0) {
return year + "-" + month + "-" + day + " " + hour + ":" + "00" + ":" +
second;
}
if (minute.length() <= 2) {
minute = sub.trim();
if (!CommonUtil.isNumberString(minute, 2)) {
return null;
}
minute = CommonUtil.setChar(minute, '0', 2);
return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" +
second;
}
else {
return null;
}
}
else {
minute = sub.substring(0, sub.indexOf(":")).trim();
if (minute.length() <= 2) {
minute = minute.trim();
if (!CommonUtil.isNumberString(minute, 2)) {
return null;
}
minute = CommonUtil.setChar(minute, '0', 2);
}
else {
return null;
}
} //end of if(<0)
//second
i = sub.indexOf(":") + 1;
sub = sub.substring(i);
second = sub.trim();
if (second.length() <= 0) {
return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" +
"00";
}
if (second.length() <= 2) {
second = sub.trim();
if (!CommonUtil.isNumberString(second, 2)) {
return null;
}
second = CommonUtil.setChar(second, '0', 2);
return year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" +
second;
}
else {
return null;
}
}
/**
* Validate a date string format HH:MM:SS
* @param strDate a string representing date
* @return boolean true if format is "HH:MM:SS" else return false
*/
static public boolean isValidTime(String strTime) {
try {
return strToTime(strTime)!=null;
}
catch(Exception e) {
return false;
}
}
/**
* convert a string with format hh:mm:ss to a java.sql.Date object
* For Example : Date String "12:00:00"
*
* @param dateString format "HH:MM:SS"
*
* @return java.sql.Time type object
*/
static public java.sql.Time strToTime(String str){
String dtstr = new String(str);
dtstr.replace('/','-');
while(dtstr.indexOf(" ")>=0) {
dtstr = dtstr.substring(0,dtstr.indexOf(" ")) + dtstr.substring(dtstr.indexOf(" ")+1);
}
if( dtstr==null
|| dtstr.length() < 3
) return null;
int len =str.length();
String hour = "0";
dtstr = dtstr.trim();
while(!dtstr.equals("")
&& !dtstr.startsWith("-")
&& !dtstr.startsWith(":")
&& !dtstr.startsWith(" ")) {
hour += dtstr.charAt(0);
dtstr = dtstr.trim().substring(1);
}
String minute = "0";
dtstr = dtstr.trim().length()>0 ? dtstr .trim().substring(1) : "";
while(!dtstr.equals("")
&& !dtstr.startsWith("-")
&& !dtstr.startsWith(":")
&& !dtstr.startsWith(" ")) {
minute += dtstr.charAt(0);
dtstr = dtstr.trim().substring(1);
}
String second = "0";
dtstr = dtstr.trim().length()>0 ? dtstr .trim().substring(1) : "";
while(!dtstr.equals("")
&& !dtstr.startsWith("-")
&& !dtstr.startsWith(":")
&& !dtstr.startsWith(" ")) {
second += dtstr.charAt(0);
dtstr = dtstr.trim().substring(1);
}
int ihour = Integer.valueOf(hour).intValue();
int iminute = Integer.valueOf(minute).intValue();
int isecond = Integer.valueOf(second).intValue();
java.sql.Time sTime = new java.sql.Time(ihour,iminute,isecond);
return sTime;
}
/**
* translate a date string such as 2000-9-13 to a array of string
* @param String src the date string
* @param char sepChar a separate character in the date string such as '-' ':' or '/' and so on
* @return an array of string
*/
static public String[] split(String src, char sepChar) {
Vector v = new Vector();
//char sepChar = ';' ;
if (src == null || src.trim().equals("")) {
return null;
}
else {
String s = src;
String elm = null;
int p = -1;
while (s.length() > 0) {
p = s.indexOf(sepChar);
if (p >= 0) {
elm = s.substring(0, p);
v.addElement(elm);
s = s.substring(p + 1);
}
else {
if (s != null) {
v.addElement(s);
}
s = "";
}
}
String rtn[] = new String[v.size()];
Enumeration enum1 = v.elements();
int i = 0;
while (enum1.hasMoreElements()) {
Object item = (Object) enum1.nextElement();
rtn[i] = (String) item;
i++;
}
return rtn;
}
}
public static String[] split(String str, String separator) {
StringTokenizer tok = null;
int max = -1;
if (separator == null) {
// Null separator means we're using StringTokenizer's default
// delimiter, which comprises all whitespace characters.
tok = new StringTokenizer(str);
}
else {
tok = new StringTokenizer(str, separator);
}
int listSize = tok.countTokens();
if (max > 0 && listSize > max) {
listSize = max;
}
String[] list = new String[listSize];
int i = 0;
int lastTokenBegin = 0;
int lastTokenEnd = 0;
while (tok.hasMoreTokens()) {
if (max > 0 && i == listSize - 1) {
String endToken = tok.nextToken();
lastTokenBegin = str.indexOf(endToken, lastTokenEnd);
list[i] = str.substring(lastTokenBegin);
break;
}
else {
list[i] = tok.nextToken();
lastTokenBegin = str.indexOf(list[i], lastTokenEnd);
lastTokenEnd = lastTokenBegin + list[i].length();
}
i++;
}
return list;
}
/**
* translate a date string array to a string such as "aaa, bbb, ccc, ddd"
* @param String[] strs
* @return an string
*/
static public String arrayToString(String[] strs, char splt) {
String rtn = "";
if (strs != null) {
for (int i = 0; i < strs.length; i++) {
if (i < strs.length) {
rtn += strs[i] + splt;
}
else {
rtn += strs[i];
}
}
}
return rtn;
}
/**
*
*/
static public String strToPathfrmt(String str) {
String s = "";
int pos = 0;
pos = str.indexOf("\\");
while (pos > 0) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -