日期格式转换有一个简单的问题。在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));
答案 0 :(得分:3)
但是我想在Date对象中使用这种格式“2012-11-13 18:34:35”显示这个日期。不需要字符串。
您谈论的格式是字符串。如果不需要字符串,那么您的第一个要求就完全消失了。您希望日期显示,这意味着需要 字符串。
Date
没有格式概念。自Unix时代以来只有几毫秒。 Date
中没有控制格式的信息。
只需使用SimpleDateFormat
,将其调整为您想要的任何格式 - 日历,时区和区域设置。不要浪费时间试图改变Date
本身,因为你不会到达任何地方。将Date.toString()
视为诊断方便,仅此而已。
答案 1 :(得分:2)
我觉得你很困惑。格式化仅用于显示目的,不用于计算目的。 Date()
对象不代表格式,它是纪元时间的毫秒数。使用SimpleDateFormat
类format()
方法,您可以根据需要格式化日期和打印。