0

Introduction

I wanted to get my computer's current time in the format of HH:MM:SS. Although I tried a lot of different methods, they are all giving me the same result.

Code

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);

Result

12:42:34 but my computer's current time is 8:42:34

What I want

But the time is different from my computer's current time. Why?

4

4 に答える 4

2

このcurrentTimeMillisメソッドは、時間を UTC 時間で返します。SimpleDateFormatインスタンスを使用して、現在の 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:ssam/pm (1-12) で時間を取得するための形式を使用します。24 時間形式で時間を取得するには format を
使用します。 詳細については、SimpleDateFormatHH:mm:ss

于 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

試してみてください

 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 に答える