Java 为什么我在使用SimpleDataFormat格式化表示时间戳的字符串时会遇到这种奇怪的行为?

Java 为什么我在使用SimpleDataFormat格式化表示时间戳的字符串时会遇到这种奇怪的行为?,java,date,simpledateformat,Java,Date,Simpledateformat,我发现在Java中生成表示propper时间戳的字符串时出现了一些问题 因此,我采取了以下方式: SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS"); String timeStamp = DATE_FORMAT.format(new Date()); 问题是我得到了以下错误结果:'2016-06-23 12:25:85' 问题与最后一个数字(85)有关,该数字应表示秒数。但正如你所看到的,这不是

我发现在Java中生成表示propper时间戳的字符串时出现了一些问题

因此,我采取了以下方式:

SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:SS");
String timeStamp = DATE_FORMAT.format(new Date());
问题是我得到了以下错误结果:'2016-06-23 12:25:85'

问题与最后一个数字(85)有关,该数字应表示秒数。但正如你所看到的,这不是一个正确的秒值,因为一分钟内秒的正确最大值是60,而不是85


为什么我会有这种奇怪的行为?我错过了什么?如何解决此问题并获得秒的正确值?

SS表示毫秒,SS表示秒。使用yyyy-MM-dd HH:MM:ss

ss表示毫秒,ss表示秒。使用yyyy-MM-dd HH:MM:ss

大写S表示毫秒。请改用小写字母s。

大写字母s表示毫秒。请使用小写字母s。

这是因为
SS
表示毫秒,而不是秒,请尝试使用
SS


请查看文档。

这是因为
SS
表示毫秒而不是秒,请尝试使用
SS


查看文档。

请编辑问题以显示您的输入。请编辑问题以显示您的输入。