DateFormate.txt import java.text.DateFormat;import java.text.DecimalFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.TimeZone;import org.slf4j.Logger;i
import java.text.DateFormat; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class DateSyncUtil { private static Logger logger = LoggerFactory.getLogger(DateSyncUtil.class); public static final String YYYY_MM_DD = "yyyy-MM-dd"; public static final String YYYYMMddHHmmss = "yyyyMMddHHmmss"; public static final String YYYY_MM_DDHHMMSS_UPPER = "yyyy-MM-dd HH:mm:ss"; public static final String YYYY_MM_DDHHMMSS_LOWER = "yyyy-MM-dd hh:mm:ss"; public static final String YYYYMMDD = "yyyyMMdd"; public static final String YYYY_MM_DDTHHMMSSSSS000Z = "yyyy-MM-dd'T'HH:mm:ss.SSS000Z"; public static final String YYYYMMDDHHMMSSSSS = "yyyyMMddHHmmssSSS"; public static final String YYYY_MM_DDHHMM = "yyyy-MM-dd hh:mm"; public static final String TIMEZONE = "GMT+8:00"; private static SimpleDateFormat yyyy_mm_dd = new SimpleDateFormat(YYYY_MM_DD); private static SimpleDateFormat yyyymmddhhmmss = new SimpleDateFormat(YYYYMMddHHmmss); private static SimpleDateFormat yyyy_mm_ddhhmmss_upper = new SimpleDateFormat(YYYY_MM_DDHHMMSS_UPPER); private static SimpleDateFormat yyyy_mm_ddhhmmss_lower = new SimpleDateFormat(YYYY_MM_DDHHMMSS_LOWER); private static SimpleDateFormat yyyymmdd = new SimpleDateFormat(YYYYMMDD); private static SimpleDateFormat yyyy_mm_ddthhmmsssss000z = new SimpleDateFormat(YYYY_MM_DDTHHMMSSSSS000Z); private static SimpleDateFormat yyyymmddhhmmsssss = new SimpleDateFormat(YYYYMMDDHHMMSSSSS); private static SimpleDateFormat yyyy_mm_ddhhmm = new SimpleDateFormat(YYYY_MM_DDHHMM); public static Date parse(String source, String farmat) { Date parse = null; try { switch (farmat) { case "yyyy-MM-dd": synchronized (yyyy_mm_dd) { parse = yyyy_mm_dd.parse(source); } break; case "yyyyMMddHHmmss": synchronized (yyyymmddhhmmss) { parse = yyyymmddhhmmss.parse(source); } break; case "yyyy-MM-dd HH:mm:ss": synchronized (yyyy_mm_ddhhmmss_upper) { parse = yyyy_mm_ddhhmmss_upper.parse(source); } break; case "yyyy-MM-dd hh:mm:ss": synchronized (yyyy_mm_ddhhmmss_lower) { parse = yyyy_mm_ddhhmmss_lower.parse(source); } break; case "yyyyMMdd": synchronized (yyyymmdd) { parse = yyyymmdd.parse(source); } break; case "yyyy-MM-dd'T'HH:mm:ss.SSS000Z": synchronized (yyyy_mm_ddthhmmsssss000z) { parse = yyyy_mm_ddthhmmsssss000z.parse(source); } break; case "yyyyMMddHHmmssSSS": synchronized (yyyymmddhhmmsssss) { parse = yyyymmddhhmmsssss.parse(source); } break; case "yyyy-MM-dd hh:mm": synchronized (yyyy_mm_ddhhmm) { parse = yyyy_mm_ddhhmm.parse(source); } break; } } catch (ParseException e) { logger.error(e.getMessage(), e); //throw new BusinessException(ServiceConstant.SIMPLEDATEFORMAT_ERROR, source); } return parse; } public static Date parse(String source, String format, TimeZone timeZone) { Date parse = null; try { switch (format) { case "yyyy-MM-dd": synchronized (yyyy_mm_dd) { yyyy_mm_dd.setTimeZone(timeZone); parse = yyyy_mm_dd.parse(source); } break; case "yyyyMMddHHmmss": synchronized (yyyymmddhhmmss) { yyyymmddhhmmss.setTimeZone(timeZone); parse = yyyymmddhhmmss.parse(source); } break; case "yyyy-MM-dd HH:mm:ss": synchronized (yyyy_mm_ddhhmmss_upper) { yyyy_mm_ddhhmmss_upper.setTimeZone(timeZone); parse = yyyy_mm_ddhhmmss_upper.parse(source); } break; case "yyyy-MM-dd hh:mm:ss": synchronized (yyyy_mm_ddhhmmss_lower) { yyyy_mm_ddhhmmss_lower.setTimeZone(timeZone); parse = yyyy_mm_ddhhmmss_lower.parse(source); } break; case "yyyyMMdd": synchronized (yyyymmdd) { yyyymmdd.setTimeZone(timeZone); parse = yyyymmdd.parse(source); } break; case "yyyy-MM-dd'T'HH:mm:ss.SSS000Z": synchronized (yyyy_mm_ddthhmmsssss000z) { yyyy_mm_ddthhmmsssss000z.setTimeZone(timeZone); parse = yyyy_mm_ddthhmmsssss000z.parse(source); } break; case "yyyyMMddHHmmssSSS": synchronized (yyyymmddhhmmsssss) { yyyymmddhhmmsssss.setTimeZone(timeZone); parse = yyyymmddhhmmsssss.parse(source); } break; case "yyyy-MM-dd hh:mm": synchronized (yyyy_mm_ddhhmm) { yyyy_mm_ddhhmm.setTimeZone(timeZone); parse = yyyy_mm_ddhhmm.parse(source); } break; } } catch (ParseException e) { logger.error(e.getMessage(), e); //throw new BusinessException(ServiceConstant.SIMPLEDATEFORMAT_ERROR, source); } return parse; } public static String format(Date source, String format) { String result = null; switch (format) { case "yyyy-MM-dd": synchronized (yyyy_mm_dd) { result = yyyy_mm_dd.format(source); } break; case "yyyyMMddHHmmss": synchronized (yyyymmddhhmmss) { result = yyyymmddhhmmss.format(source); } break; case "yyyy-MM-dd HH:mm:ss": synchronized (yyyy_mm_ddhhmmss_upper) { result = yyyy_mm_ddhhmmss_upper.format(source); } break; case "yyyy-MM-dd hh:mm:ss": synchronized (yyyy_mm_ddhhmmss_lower) { result = yyyy_mm_ddhhmmss_lower.format(source); } break; case "yyyyMMdd": synchronized (yyyymmdd) { result = yyyymmdd.format(source); } break; case "yyyy-MM-dd'T'HH:mm:ss.SSS000Z": synchronized (yyyy_mm_ddthhmmsssss000z) { result = yyyy_mm_ddthhmmsssss000z.format(source); } break; case "yyyyMMddHHmmssSSS": synchronized (yyyymmddhhmmsssss) { result = yyyymmddhhmmsssss.format(source); } break; case "yyyy-MM-dd hh:mm": synchronized (yyyy_mm_ddhhmm) { result = yyyy_mm_ddhhmm.format(source); } break; } return result; } public static String format(Date source, String format ,TimeZone timeZone) { String result = null; switch (format) { case "yyyy-MM-dd": synchronized (yyyy_mm_dd) { yyyy_mm_dd.setTimeZone(timeZone); result = yyyy_mm_dd.format(source); } break; case "yyyyMMddHHmmss": synchronized (yyyymmddhhmmss) { yyyymmddhhmmss.setTimeZone(timeZone); result = yyyymmddhhmmss.format(source); } break; case "yyyy-MM-dd HH:mm:ss": synchronized (yyyy_mm_ddhhmmss_upper) { yyyy_mm_ddhhmmss_upper.setTimeZone(timeZone); result = yyyy_mm_ddhhmmss_upper.format(source); } break; case "yyyy-MM-dd hh:mm:ss": synchronized (yyyy_mm_ddhhmmss_lower) { yyyy_mm_ddhhmmss_lower.setTimeZone(timeZone); result = yyyy_mm_ddhhmmss_lower.format(source); } break; case "yyyyMMdd": synchronized (yyyymmdd) { yyyymmdd.setTimeZone(timeZone); result = yyyymmdd.format(source); } break; case "yyyy-MM-dd'T'HH:mm:ss.SSS000Z": synchronized (yyyy_mm_ddthhmmsssss000z) { yyyy_mm_ddthhmmsssss000z.setTimeZone(timeZone); result = yyyy_mm_ddthhmmsssss000z.format(source); } break; case "yyyyMMddHHmmssSSS": synchronized (yyyymmddhhmmsssss) { yyyymmddhhmmsssss.setTimeZone(timeZone); result = yyyymmddhhmmsssss.format(source); } break; case "yyyy-MM-dd hh:mm": synchronized (yyyy_mm_ddhhmm) { yyyy_mm_ddhhmm.setTimeZone(timeZone); result = yyyy_mm_ddhhmm.format(source); } break; } return result; } /** * 转化毫秒为分钟保留一位小数 * * @param ss * @return */ public static String formatSsTOMin(long ss) { double dd = (double) ss / (60 * 1000); DecimalFormat dfmt = new DecimalFormat("#.0"); return Double.parseDouble(dfmt.format(dd)) + ""; } /** * 转换毫秒为秒 * @param ss * @return */ public static String formatSsTOSec(long ss){ long s = ss/1000; DecimalFormat dfmt = new DecimalFormat("#"); return dfmt.format(s); } /** * 根据格式转化毫秒秒为分钟 * * @param ss * @return */ public static String formatMsTOMin(long ms, String format) { double min = (double) ms / (60 * 1000); DecimalFormat dfmt = new DecimalFormat("#.0"); try { dfmt = new DecimalFormat(format); } catch (Exception e) { dfmt = new DecimalFormat("#.0"); } return Double.parseDouble(dfmt.format(min)) + ""; } /** * 根据格式转化毫秒秒为分钟 * * @param ss * @return */ public static String formatMsTOMin(double ms, String format) { double min = (double) ms / (60 * 1000); DecimalFormat dfmt = new DecimalFormat("#.0"); try { dfmt = new DecimalFormat(format); } catch (Exception e) { dfmt = new DecimalFormat("#.0"); } return Double.parseDouble(dfmt.format(min)) + ""; } public static String formatMsTODate(long ms) { DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); formatter.setTimeZone(TimeZone.getTimeZone(TIMEZONE)); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(ms); return formatter.format(calendar.getTime()); } public static String formatSqldatestrTODate(String str) { SimpleDateFormat f_timestamp = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); f_timestamp.setTimeZone(TimeZone.getTimeZone(TIMEZONE)); java.sql.Timestamp timestamp = null; try { timestamp = java.sql.Timestamp.valueOf(str); } catch (Exception e) { return ""; } return f_timestamp.format(timestamp); } }