我在“dd-MM-yyyy HH:mm”中有一个字符串,需要将其转换为格式的日期对象 “yyyy-MM-dd HH:mm”。
以下是我用来转换的代码
oldScheduledDate = "16-05-2011 02:00:00";
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date oldDate = (Date)formatter.parse(oldScheduledDate);
现在当我打印oldDate时,我得到了
Sat Nov 01 02:00:00 GMT 21
,这是完全错误的,我在这里做错了什么?
答案 0 :(得分:20)
String dateSample = "10-01-2010 21:10:05";
String oldFormat = "dd-MM-yyyy HH:mm:ss";
String newFormat = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf1 = new SimpleDateFormat(oldFormat);
SimpleDateFormat sdf2 = new SimpleDateFormat(newFormat);
try {
System.out.println(sdf2.format(sdf1.parse(dateSample)));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 1 :(得分:5)
“yyyy-MM-dd”看起来与“16-05-2011”看起来不一样。嗯。那么,为什么不呢?
提示:
答案 2 :(得分:1)
一种简单的方法是交换字母。
String s = "16-05-2011 02:00:00";
String newDate=s.substring(6,10)+s.substring(3,6)+'-'+s.substring(0,2)+s.substring(10);
答案 3 :(得分:0)
如果要输出格式化日期
,则需要使用格式化程序public static void main(String[] args) throws ParseException {
String oldScheduledDate = "16-05-2011 02:00:00";
DateFormat oldFormatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date oldDate = (Date)oldFormatter .parse(oldScheduledDate);
System.out.println(formatter.format(oldDate));
}