0

介绍

我想以 HH:MM:SS 的格式获取计算机的当前时间。尽管我尝试了很多不同的方法,但它们都给了我相同的结果。

代码

long milliseconds = System.currentTimeMillis();
int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours   = (int) ((milliseconds / (1000*60*60)) % 24);

System.out.println(hours +":" + minutes+ ":"+ seconds);

结果

12:42:34 但我电脑的当前时间是 8:42:34

我想要的是

但时间与我电脑的当前时间不同。为什么?

4

4 回答 4

2

The currentTimeMillis method returns time in UTC time. Use a SimpleDateFormat instance to format the time in your current TimeZone.

于 2013-08-11T13:01:40.123 回答
2

试试这个代码

DateFormat dateFormat = new SimpleDateFormat("hh:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date));  

使用hh:mm:ss格式获取上午/下午 (1-12) 的小时数。
使用HH:mm:ss格式以 24 小时格式获取小时。
更多详情SimpleDateFormat

于 2013-08-11T13:03:20.730 回答
2

尝试这个:

DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime()));
于 2013-08-11T13:03:49.583 回答
1

试试dis

 DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
       //get current date time with Date()
       Date date = new Date();
       System.out.println(dateFormat.format(date));

       //get current date time with Calendar()
       Calendar cal = Calendar.getInstance();
       System.out.println(dateFormat.format(cal.getTime()));
于 2013-08-11T13:03:42.263 回答