SimpleDateFormat自定義工具類TimeUtil + PinYin4JUtil
GitHub: link. 歡迎star
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author Andon
* @date 2019/2/19
*/
public class TimeUtil {
private static final Logger LOG = LoggerFactory.getLogger(TimeUtil.class);
public static final ThreadLocal<SimpleDateFormat> FORMAT = ThreadLocal.withInitial(() -> new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
public static final ThreadLocal<SimpleDateFormat> FORMAT_DAY = ThreadLocal.withInitial(() -> new SimpleDateFormat("yyyy-MM-dd"));
public static final ThreadLocal<SimpleDateFormat> FORMAT_HOUR = ThreadLocal.withInitial(() -> new SimpleDateFormat("HH"));
public static final ThreadLocal<SimpleDateFormat> FORMAT_MINUTE = ThreadLocal.withInitial(() -> new SimpleDateFormat("mm"));
public static final ThreadLocal<SimpleDateFormat> FORMAT_SECOND = ThreadLocal.withInitial(() -> new SimpleDateFormat("ss"));
public static long getTimeId(String time) {
long timeId = 0;
try {
Date date = FORMAT.get().parse(time);
timeId = date.getTime() / 1000;
} catch (ParseException e) {
LOG.error("FORMAT parse time failure!! error={}", e.getMessage());
}
return timeId;
}
public static Date parseTime(String time) {
Date parse = null;
try {
parse = TimeUtil.FORMAT.get().parse(time);
} catch (ParseException e) {
LOG.error("FORMAT parse time failure!! error={}", e.getMessage());
}
return parse;
}
public static void sleep(long time) {
try {
Thread.sleep(time);
} catch (InterruptedException e) {
LOG.error("Thread sleep failure!! error={}", e.getMessage());
}
}
// 根據日期取得星期幾
public static String getWeek(Date date) {
String[] weeks = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (week_index < 0) {
week_index = 0;
}
return weeks[week_index];
}
}
import com.google.gson.Gson;
/**
* @author Andon
* @date 2019/2/19
*/
public class GsonUtil {
public static final Gson GSON = new Gson();
}
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
/**
* @author Andon
* @date 2019/3/11
*/
public class PinYin4JUtil {
/**
* 得到 全拼
*/
public static String getPingYin(String src) {
char[] t1;
t1 = src.toCharArray();
String[] t2;
HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
t3.setVCharType(HanyuPinyinVCharType.WITH_V);
StringBuilder t4 = new StringBuilder();
int t0 = t1.length;
try {
for (int i = 0; i < t0; i++) {
// 判斷是否爲漢字字符
if (java.lang.Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
t4.append(t2[0]);
} else {
t4.append(t1[i]);
}
}
return t4.toString();
} catch (BadHanyuPinyinOutputFormatCombination e1) {
e1.printStackTrace();
}
return t4.toString();
}
/**
* 得到中文首字母
*/
public static String getPinYinHeadChar(String str) {
StringBuilder convert = new StringBuilder();
for (int j = 0; j < str.length(); j++) {
char word = str.charAt(j);
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
if (pinyinArray != null) {
convert.append(pinyinArray[0].charAt(0));
} else {
convert.append(word);
}
}
return convert.toString();
}
/**
* 將字符串轉移爲ASCII碼
*/
public static String getCnASCII(String cnStr) {
StringBuilder strBuf = new StringBuilder();
byte[] bGBK = cnStr.getBytes();
for (int i = 0; i < bGBK.length; i++) {
strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
}
return strBuf.toString();
}
}
GitHub: link. 歡迎star