java字符串日期转换格式,非常复杂,求大神解决

4/28/2018 15:51:30我把这个字符串日期转为2018-4-28 15:51:30的格式?大神求告知。

simpleDateFormat sdf = new simpleDateDormat("yyyy-mm-dd");是一个以与语言环境有关的方式来格式化和解析日期的具体类

下面的你的代码,去掉异常获取好看些,就这样给你分析:
final String DF_SECONDS_1 = "yyyy-MM-dd HH:mm:ss"; //声明一个时间格式:年月日时分秒
final String DF_SECONDS_2 = "MM/dd/yyyy HH:mm:ss";//声明一个时间格式:月日年时分秒
String convertDayStr = new SimpleDateFormat(DF_SECONDS_1).format(new SimpleDateFormat(DF_SECONDS_2).parse("4/28/2018 15:51:30"));
//parse方法,定的日期和时间据 1970/1/1 午夜(GMT 时间)之间的毫秒数。
//format方法 ,format(String format, Object... args) 使用指定的格式字符串和参数返回一个格式化字符串。
System.out.println(convertDayStr);//打印输出
/*
此方法就是把后者的日期格式4/28/2018 15:51:30 转换成 2018/4/28 15:51:30
/*

final String DF_SECONDS_1 = "yyyy-MM-dd HH:mm:ss"; //声明一个时间格式:年月日时分秒
final String DF_SECONDS_2 = "MM/dd/yyyy HH:mm:ss";//声明一个时间格式:月日年时分秒
String convertDayStr = new SimpleDateFormat(DF_SECONDS_1).format(new SimpleDateFormat(DF_SECONDS_2).parse("4/28/2018 15:51:30"));

SimpleDateFormat

百度一下Format语句,里面可以把你的时间缀进行自行修改

String sourceFormat = "MM/dd/yyyy HH:mm:ss";// 时间原格式
    String targetFormat = "yyyy-MM-dd HH:mm:ss";// 时间目标格式
    String dateStr = "4/28/2018 15:51:30";// 时间字符串值
    try {
        // 用原格式转成时间Date格式
        Date date = new SimpleDateFormat(sourceFormat).parse(dateStr);
        // 再以目标格式转换Date成字符串
        dateStr = new SimpleDateFormat(targetFormat).format(date); 
        System.out.println(dateStr);
    } catch (ParseException e) {
        e.printStackTrace();
    }

这个就是两道程序,先用SimpleDateFormat parse成date,在SimpleDateFormat format成需要的格式

 SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        String str = "4/28/2018 15:51:30";
        Date d = sdf.parse(str);
        System.out.println(sdf2.format(d));