我以这种格式记录了一个日期
2014-12-09 02:18:38
我需要将其转换为
09-12-2014 02:18:38
我尝试过这种方式转换
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class TestDate {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("dd-mm-YYYY HH:mm:ss");
String input = "2014-12-09 02:18:38";
String strDate = sdf.format(input);
System.out.println(strDate);
}
}
但是我在运行期间得到了这个异常
Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Date
at java.text.DateFormat.format(DateFormat.java:301)
at java.text.Format.format(Format.java:157)
at TestDate.main(TestDate.java:15)
有人可以帮我解决这个问题。
答案 0 :(得分:8)
试试这个
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdfIn = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdfOut = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
String input = "2014-12-09 02:18:38";
Date date = sdfIn.parse(input);
System.out.println(sdfOut.format(date));
}
另请注意,m
是分钟,而M
是几个月。
答案 1 :(得分:3)
答案 2 :(得分:0)
SimpleDateFormat sdf = new SimpleDateFormat("dd-mm-YYYY HH:mm:ss");
// String to Date:
String input = "2014-12-09 02:18:38";
Date date = sdf.parse(input);
// Date to String:
String strDate = sdf.format(date);
System.out.println(strDate);
答案 3 :(得分:0)
SimpleDateFormat in可用于格式化Date对象。
首先,您必须使用您声明的SimpleDateFormat上的格式将字符串解析为Data对象。 之后,您可以使用第二个SimpleDataFromat将其输出到您想要的字符串。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String input = "2014-12-09 02:18:38";
Date dt = sdf.parse(input);
SimpleDateFormat sdf2 = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
String strDate = sdf2.format(dt);
System.out.println(strDate);