Java开发过常用的基础函数--很有用 (二)

2014-11-24 08:51:43 · 作者: · 浏览: 1
y(HashMap param) {
int size = param.size();
if (param == null || param.size() == 0) {
return null;
}
Object[] obj = new Object[size];
Set set = param.keySet();
Iterator ite = set.iterator();
for (int i = 0; ite.hasNext(); i++) {
obj[i] = param.get(ite.next());
}
return obj;
}

/**
* 日期转字符串
* 示例:dateToString(stringToDate("2005-5-2 0:0:10"));
* @param date Date
* @return String
* 返回字符串格式为“yyyy年MM月dd日 HH时mm分ss秒”或“yyyy年MM月dd日”
* 根据输入的日期是否含有时间来确定输出格式
*/
public static String dateToString(Date date) {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"),
Locale.CHINA);
calendar.clear();
calendar.setTimeInMillis(date.getTime());
String format = "";

/* if (calendar.get(Calendar.MILLISECOND) == 0 &&
calendar.get(Calendar.SECOND) == 0 &&
calendar.get(Calendar.SECOND) == calendar.get(Calendar.MINUTE) &&
calendar.get(Calendar.MINUTE) == calendar.get(Calendar.HOUR)) {
format = "yyyy'年'MM'月'dd'日'";
} else {
format = "yyyy'年'MM'月'dd'日' HH'时'mm'分'ss'秒'";
}
*/
format = "yyyy'年'MM'月'dd'日' HH'时'mm'分'ss'秒'";
String return_string = "";
SimpleDateFormat sdf = new SimpleDateFormat(format);
//yyyy-MM-dd HH:mm:ss:S 年月日时分秒毫杪
return_string = sdf.format(date);
return return_string;
}

/**
* 字符串转日期
* 示例:stringToDate("2005-5-2 0:0:10");
* @param str String
* 输入字符串日期可用三种格式
* yyyy-MM-dd HH:mm:ss完整式
* yyyy-MM-dd HH:mm不含秒
* yyyy-MM-dd只有日期不含时间
* @return Date
* @throws Exception
*/
public static Date stringToDate(String str) throws Exception {
Date return_date = null;
String format = "";
if (str.length() > 13) {
format = "yyyy-MM-dd HH:mm:ss";
} else if (str.length() > 10) {
format = "yyyy-MM-dd HH:mm";
} else {
format = "yyyy-MM-dd";
}
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return_date = sdf.parse(str);
} catch (ParseException e) {
throw new Exception(
"输入字符串的格式出错(格式为yyyy-MM-dd/yyyy-MM-dd HH:mm/yyyy-MM-dd HH:mm:ss):" +
e.getMessage());
}
return return_date;
}

/**
* 连续产生指定个数的字符串
* @param str String
* @param count int
* @return String
*/
public static String continuousMakeString(String str, int count) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < count; i++) {
sb.append(str);
}
return (sb.toString());
}

/**
* 将字符串开头的所有空格替换成指定的字符
* 在JSP中经常用到把字符串开头的n个空格替换成n个 字符
* 就可以使用此函数调用示例
* replaceStartsWithSpace(" 中国 湖南 长沙"," ");结果为“  中国 湖南 长沙”
* @param str String
* @param sub String
* @return String
*/
public static String replaceStartsWithSpace(String str, String sub) {
String returnStr = "";
String regEx = "//S"; //非空格字符
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(str);
matcher.find();
int start =