1

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

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

2 回答 2

3

但我希望在 Date 对象中以这种格式“2012-11-13 18:34:35”显示此日期。不需要字符串。

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

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

只需使用SimpleDateFormat,将其调整为您想要的任何格式 - 和日历、时区和语言环境。不要浪费时间试图改变Date自己,因为你将一事无成。视为Date.toString()一种诊断便利,仅此而已。

于 2012-11-13T15:56:43.520 回答
2

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

于 2012-11-13T15:51:01.300 回答