Date对象中的Java DateFormat

时间:2012-11-13 15:49:37

标签: java java.util.date

日期格式转换有一个简单的问题。在java中我们以这种格式打印日期对象时“Tue Nov 13 18:34:35 PKT 2012”但是我希望这个日期以这种格式“2012-11-13 18:34:35”显示在Date对象中。不需要字符串。以上格式只需要Date对象。谁能帮我。 我正在使用

Date d = new Date();  
SimpleDateFormat sdf =  new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
Date formattedDate = sdf.parse(d.format(sdf)); 

2 个答案:

答案 0 :(得分:3)

  

但是我想在Date对象中使用这种格式“2012-11-13 18:34:35”显示这个日期。不需要字符串。

您谈论的格式字符串。如果不需要字符串,那么您的第一个要求就完全消失了。您希望日期显示,这意味着需要 字符串。

Date 没有格式概念。自Unix时代以来只有几毫秒。 Date中没有控制格式的信息。

只需使用SimpleDateFormat,将其调整为您想要的任何格式 - 日历,时区和区域设置。不要浪费时间试图改变Date本身,因为你不会到达任何地方。将Date.toString()视为诊断方便,仅此而已。

答案 1 :(得分:2)

我觉得你很困惑。格式化仅用于显示目的,不用于计算目的。 Date()对象不代表格式,它是纪元时间的毫秒数。使用SimpleDateFormatformat()方法,您可以根据需要格式化日期和打印。