java 时间格式转换 时间比较
?
package test08;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.Locale;/*SimpleDateFormat函数语法: * * G 年代标志符 * y 年 * M 月 * d 日 * h 时 在上午或下午 (1~12) * H 时 在一天中 (0~23) * m 分 * s 秒 * S 毫秒 * E 星期 * D 一年中的第几天 * F 一月中第几个星期几 * w 一年中第几个星期 * W 一月中第几个星期 * a 上午 / 下午 标记符 * k 时 在一天中 (1~24) * K 时 在上午或下午 (0~11) * z 时区 * * 常见标准的写法"yyyy-MM-dd HH:mm:ss",注意大小写,时间是24小时制, * 如果格式化英文月份的字符串,记得带上Locale.US参数,否则,JRE会按照当前地区的语言格式来解释,就会出错。*/public class MyDate {public static void main(String[] args) {try {Date date = stringToDate("Thu Feb 16 14:42:24 CST 2012","EEE MMM dd HH:mm:ss Z yyyy",Locale.US);String newDate = dateToString(date,"yyyy年MM月dd日 HH:mm:ss");System.out.println(newDate);System.out.println(compareDate(newDate,"1999年04月01日 15:30:40","yyyy年MM月dd日 HH:mm:ss"));} catch (Exception e) {e.printStackTrace();}}//string -->datepublic static Date stringToDate(String str,String formatStr,Locale local) throws Exception{DateFormat df = new SimpleDateFormat(formatStr,local);return df.parse(str);}//date ---->strpublic static String dateToString(Date date,String formatStr){DateFormat df = new SimpleDateFormat(formatStr);return df.format(date);}//comparepublic static String compareDate(String str1,String str2,String formatStr) throws Exception{DateFormat df = new SimpleDateFormat(formatStr);Calendar c1 = Calendar.getInstance();Calendar c2 = Calendar.getInstance();c1.setTime(df.parse(str1));c2.setTime(df.parse(str2));int result = c1.compareTo(c2);if(result ==0){return "实现相等";}else if(result<0){return "后面的大";}else{return "前面的大";}}}?