package main;
import java.text.SimpleDateFormat;
import java.util.Date;
import freemarker.core.ParseException;
public class Transformation {
public static String dateToString(Date data, String formatType) {
return new SimpleDateFormat(formatType).format(data);
}
// long類型轉換為String類型
// currentTime要轉換的long類型的時間
// formatType要轉換的string類型的時間格式
public static String longToString(long currentTime, String formatType)
throws ParseException {
Date date = longToDate(currentTime, formatType); // long類型轉成Date類型
String strTime = dateToString(date, formatType); // date類型轉成String
return strTime;
}
// string類型轉換為date類型
// strTime要轉換的string類型的時間,formatType要轉換的格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日
// HH時mm分ss秒,
// strTime的時間格式必須要與formatType的時間格式相同
public static Date stringToDate(String strTime, String formatType)
throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat(formatType);
Date date = null;
try {
date = formatter.parse(strTime);
} catch (java.text.ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}
// long轉換為Date類型
// currentTime要轉換的long類型的時間
// formatType要轉換的時間格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH時mm分ss秒
public static Date longToDate(long currentTime, String formatType)
throws ParseException {
Date dateOld = new Date(currentTime); // 根據long類型的毫秒數生命一個date類型的時間
String sDateTime = dateToString(dateOld, formatType); // 把date類型的時間轉換為string
Date date = stringToDate(sDateTime, formatType); // 把String類型轉換為Date類型
return date;
}
// string類型轉換為long類型
// strTime要轉換的String類型的時間
// formatType時間格式
// strTime的時間格式和formatType的時間格式必須相同
public static long stringToLong2(String strTime, String formatType) throws ParseException{
return stringToLong(strTime,formatType)-stringToLong("1970-01-01",formatType);
}
public static long stringToLong(String strTime, String formatType)
throws ParseException {
Date date = stringToDate(strTime, formatType); // String類型轉成date類型
if (date == null) {
return 0;
} else {
long currentTime = dateToLong(date); // date類型轉成long類型
return currentTime;
}
}
// date類型轉換為long類型
// date要轉換的date類型的時間
public static long dateToLong(Date date) {
return date.getTime();
}
}