/** * 将日期字符串转化为另一日期字符串。失败返回null。 * * @param date 旧日期字符串 * @param olddDteStyle 旧日期风格 * @param newDateStyle 新日期风格 * @return 新日期字符串 */ public static String StringToString(String date, DateStyle olddDteStyle, DateStyle newDateStyle) { String dateString = null; if (olddDteStyle == null) { DateStyle style = getDateStyle(date); dateString = StringToString(date, style.getValue(), newDateStyle.getValue()); } else { dateString = StringToString(date, olddDteStyle.getValue(), newDateStyle.getValue()); } return dateString; }
/** * 将日期字符串转化为另一日期字符串。失败返回null。 * * @param date 旧日期字符串 * @param olddParttern 旧日期格式 * @param newParttern 新日期格式 * @return 新日期字符串 */ public static String StringToString(String date, String olddParttern, String newParttern) { String dateString = null; if (olddParttern == null) { DateStyle style = getDateStyle(date); if (style != null) { Date myDate = StringToDate(date, style.getValue()); dateString = DateToString(myDate, newParttern); } } else { Date myDate = StringToDate(date, olddParttern); dateString = DateToString(myDate, newParttern); } return dateString; }
/** * 获取日期字符串的日期风格。失敗返回null。 * * @param date 日期字符串 * @return 日期风格 */ public static DateStyle getDateStyle(String date) { DateStyle dateStyle = null; Map<Long, DateStyle> map = new HashMap<Long, DateStyle>(); List<Long> timestamps = new ArrayList<Long>(); for (DateStyle style : DateStyle.values()) { Date dateTmp = StringToDate(date, style.getValue()); if (dateTmp != null) { timestamps.add(dateTmp.getTime()); map.put(dateTmp.getTime(), style); } } dateStyle = map.get(getAccurateDate(timestamps).getTime()); return dateStyle; }
/** * 将日期转化为日期字符串。失败返回null。 * * @param date 日期 * @param dateStyle 日期风格 * @return 日期字符串 */ public static String DateToString(Date date, DateStyle dateStyle) { String dateString = null; if (dateStyle != null) { dateString = DateToString(date, dateStyle.getValue()); } return dateString; }
/** * 将日期字符串转化为日期。失败返回null。 * * @param date 日期字符串 * @param dateStyle 日期风格 * @return 日期 */ public static Date StringToDate(String date, DateStyle dateStyle) { Date myDate = null; if (dateStyle == null) { List<Long> timestamps = new ArrayList<Long>(); for (DateStyle style : DateStyle.values()) { Date dateTmp = StringToDate(date, style.getValue()); if (dateTmp != null) { timestamps.add(dateTmp.getTime()); } } myDate = getAccurateDate(timestamps); } else { myDate = StringToDate(date, dateStyle.getValue()); } return myDate; }