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));