2017-02-11 181 views
-3

我想以此格式获取日期和时间。 “2017-02-05 20:20:03”。
我用下面的代码来得到结果。
但它没有解决。以24小时格式显示时间

System.out.println(new SimpleDateFormat("yyyy-mm-dd HH:mm:ss").format(new Date())); 
+0

为* “没有工作” *应该是哪里出了问题的描述?据我所知,你有24小时的时间,所以你的问题是什么? *([krock guess below](http://stackoverflow.com/a/42172475/5221149),但你的问题描述很糟糕)* – Andreas

+0

注意:你的例子'2017-02-05'中的具体日期大约为一周在这张贴的时候过去。使用无参数构造函数构造一个日期,即新的Date()会给你当前的日期/时间。 – krock

回答

0

查看date and time patterns表;月份大写M,分钟较低m。所以你的日期部分应该是这样的:yyyy-MM-dd

SimpleDateFormat在你的代码应该是这样的:

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") 

你可以从表中上面的链接看到,H为24小时的时间,所以这是正确的。你有没有检查过你的jvm运行时区?

+0

感谢您的注意。但结果仍然如此显示。 “2017-02-11 10:42:43”。我想要24格式的时间。 –

+0

'new Date()'会为当前时间创建一个新的日期对象。您正在使用的[SimpleDateFormat构造函数](http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html#SimpleDateFormat(java.lang.String))将使用默认语言环境。 – krock

+0

感谢您的帮助 –

0

您的直接问题是您使用mm两次。 MM是一个月。

此作品在Java中8

String dt = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss").format(LocalDateTime.now); 

2017-02-10 23:20:11

相关问题