我有这段代码将字符串转换为日期。但结果日期总是另一种格式。
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm");
try {
String dateString = "18/01/2013 11:59";
dateTest = format.parse(dateString);
System.out.println(dateTest); //output: Tue Jan 18 11:59:00 GMT 2013
}
我如何才能使dateTest
格式与原始格式相同?
答案 0 :(得分:3)
使用您用于解析它的相同SimpleDateFormat格式化日期。
答案 1 :(得分:2)
这个
System.out.println(format.format(dateTest));
将完成这项工作。您可以使用format()
的{{1}}方法以与输入相同的方式格式化输出。
答案 2 :(得分:1)
你不能,因为Date没有'格式'。
如果你需要这个,你可以创建自己的Date类,其中包含一个内置的格式,但它会很蹩脚。
正常的方法是在打印时格式化日期。
System.out.println(format.format(dateTest));
答案 3 :(得分:1)
java.util.Date和java.sql.Date都存储秒和年,这就是您在打印dateTest时看到它们的原因。如果您想以您提供的格式(dd / MM / yyyy HH:mm)打印日期,您只需要格式化日期。
Date dateTest;
SimpleDateFormat desiredDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
try
{
String dateString = "18/01/2013 11:59";
dateTest = desiredDateFormat.parse(dateString);
System.out.println(desiredDateFormat.format(dateTest)); //output: 18/01/2013 11:59
}
catch (Exception ex)
{
//do something
}
答案 4 :(得分:0)
输出时,请使用:
System.out.println(format.format(dateTest));