Java 方便调用的工具类

  • Post author:
  • Post category:java



//时间格式化 (string型转date型 date转string)
//String pattern 如:yyyy-MM-dd hh:mm:ss
private static Map<String, DateFormat> dateFormatMap = new HashMap<String, DateFormat>();
public synchronized static String date2Str(Date date, String pattern) {
String result = null;
DateFormat df = null;
if (dateFormatMap.containsKey(pattern)) {
df = dateFormatMap.get(pattern);
} else {
df = new SimpleDateFormat(pattern);
dateFormatMap.put(pattern, df);
}

try {
result = df.format(date);
} catch (Exception e) {
e.printStackTrace();
}

return result;
}

public synchronized static Date str2Date(String dateStr, String pattern) {
Date date = null;
DateFormat df = null;
if (dateFormatMap.containsKey(pattern)) {
df = dateFormatMap.get(pattern);
} else {
df = new SimpleDateFormat(pattern);
dateFormatMap.put(pattern, df);
}
try {
date = df.parse(dateStr);
} catch (Exception e) {
}

return date;
}
/**
* 获取登录IP
* */
public static String getLocalIp(){
String ip=null;
try {
ip= InetAddress.getLocalHost().toString();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return ip;
}


/**
* 分转化为元
*
* @param fen
*/
public static float fen2Yuan(long fen) {

BigDecimal bg = new BigDecimal(Long.toString(fen));
BigDecimal rate = new BigDecimal("0.01");
return bg.multiply(rate).floatValue();
}


/**
*
* 将字符串的变成以分为计量单位的long型数字
*
* @param number
* @return
*/
public static long getMoneyByFen(String number, boolean calculateByYuan)
throws NumberFormatException {
if (isNullOrEmpty(number)) {
throw new NumberFormatException();
}

long result = 0;
// 0.21,1.23
if (number.indexOf(".") != -1) {

if (!isFloat(number)) {
throw new NumberFormatException();
}

Float floatNumber = Float.parseFloat(number);
BigDecimal bd = new BigDecimal(Float.toString(floatNumber));
result = (bd.multiply(new BigDecimal("100"))).longValue();
} else {
if (!isLongNumber(number)) {
throw new NumberFormatException();
} else if (calculateByYuan) {
BigDecimal bd = new BigDecimal(number);
result = (bd.multiply(new BigDecimal("100"))).longValue();
} else {
result = Long.parseLong(number);
}
}

return result;
}

public static Date getLocalDateTime() {
java.util.Calendar c = java.util.Calendar.getInstance();
java.text.SimpleDateFormat f = new java.text.SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
Date date = Tool.str2Date(f.format(c.getTime()),
Constant.DATE_PATTERN_BASE);
return date;
}