用SimpleDateFormat将不同格式的String类型的时间转Date时,只能转出和原类型格式相同的Date类型数据,自行运行代码一试
public class testwwDate {
/**
* String 类型时间(20161024) 转
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
System.out.println("java.util.Date默认时间显示格式"+new Date());//java.util.Date默认时间显示格式:(Mon Oct 10 11:06:35 CST 2016) 星期/月份/日期/时/分/秒/时区/年
/**1:String 类型时间(20161024) 转 Date(java.util.Date)**/
String stringDate1 = "20161024";
SimpleDateFormat f1 = new SimpleDateFormat("yyyyMMdd");
// SimpleDateFormat f2 = new SimpleDateFormat("yyyy-MM-dd");
// SimpleDateFormat f3 = new SimpleDateFormat("yyyy年MM月dd日");
// System.out.println("格式一:......."+f1.parse(stringDate1));//格式(20161024)只可以格式化为(yyyyMMdd)
// System.out.println("格式二:......."+f2.parse(stringDate1));
// System.out.println("格式三:......."+f3.parse(stringDate1));
/**2:String 类型时间(2016-10-24) 转 Date(java.util.Date)**/
String stringDate2 = "2016-10-24";
SimpleDateFormat ft1 = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat ft2 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat ft3 = new SimpleDateFormat("yyyy年MM月dd日");
// System.out.println("格式一:......."+ft1.parse(stringDate2));//格式(2016-10-24)只可以格式化为(yyyy-MM-dd)
// System.out.println("格式二:......."+ft2.parse(stringDate2));
// System.out.println("格式三:......."+ft3.parse(stringDate2));
/**3:String 类型时间(2016年10月24日) 转 Date(java.util.Date)**/
String stringDate3 = "2016年10月24日";
SimpleDateFormat format1 = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat format3 = new SimpleDateFormat("yyyy年MM月dd日");
// System.out.println("格式一:......."+format1.parse(stringDate3));
// System.out.println("格式二:......."+format2.parse(stringDate3));
// System.out.println("格式三:......."+format3.parse(stringDate3));//格式(2016年10月24日)只可以格式化为(yyyy年MM月dd日)
/**4:String 类型时间(Mon Oct 24 00:00:00 CST 2016) 转 Date(java.util.Date)**/
String stringDate4 = "Mon Oct 24 00:00:00 CST 2016";
Date d = new Date(stringDate4);
SimpleDateFormat fot1 = new SimpleDateFormat("yyyyMMdd");
// System.out.println("测试:......."+fot1.format(d));
/**5:String 时间计算**/
String pat1 = "20161024";
String pat2 = "1";
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyyMMdd");
Date date2 = new Date(dateFormat.parse(pat1).getTime() + Long.parseLong(pat2) * 24L * 60L * 60L * 1000L);
// System.out.println("计算所得结果:........"+date2);
/**6:String 类型时间(Mon Oct 24 00:00:00 CST 2016) 转 Date(java.util.Date)**/
String str = "Mon Oct 24 00:00:00 CST 2016";
Date date = parse(str, "EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
System.out.printf("%tF %<tT%n", date);
}
}