반응형
자바 getHours (), getMinutes () 및 getSeconds ()
내가 아는 한 getHours()
, getMinutes()
및 getSeconds()
모든 Java에서 사용되지 않으며 그들은으로 대체된다 Calendar.HOUR_OF_DAY
, Calendar.MINUTE
, Calendar.SECOND
.
실제로 특정 순간의시, 분, 초를 반환합니다. 그러나 Date 변수에서 시간과 분을 검색하고 싶습니다. 예를 들어
데이터베이스에서 검색된 시간이
time = Thu Jan 01 09:12:18 CET 1970;
int hours = time.getHours();
int minutes = time.getMinutes();
int seconds = time.getSeconds();
시간, 분, 초를 검색하여
hours = 9
minutes = 12
seconds = 18
그렇다면이 기능에 캘린더를 어떻게 사용합니까? (가) 있지만 getHours()
사용되지되었지만 여전히했다. 이것에 대한 대안이 있는지 여전히 알고 싶습니다.
이 시도:
Calendar calendar = Calendar.getInstance();
calendar.setTime(yourdate);
int hours = calendar.get(Calendar.HOUR_OF_DAY);
int minutes = calendar.get(Calendar.MINUTE);
int seconds = calendar.get(Calendar.SECOND);
편집하다:
hours, minutes, seconds
위는 yourdate
시스템 시간대 로 변환 한 후의 시간, 분, 초입니다 !
자바 8
System.out.println(LocalDateTime.now().getHour()); // 7
System.out.println(LocalDateTime.now().getMinute()); // 45
System.out.println(LocalDateTime.now().getSecond()); // 32
달력
System.out.println(Calendar.getInstance().get(Calendar.HOUR_OF_DAY)); // 7
System.out.println(Calendar.getInstance().get(Calendar.MINUTE)); // 45
System.out.println(Calendar.getInstance().get(Calendar.SECOND)); // 32
Joda 시간
System.out.println(new DateTime().getHourOfDay()); // 7
System.out.println(new DateTime().getMinuteOfHour()); // 45
System.out.println(new DateTime().getSecondOfMinute()); // 32
포맷
자바 8
// 07:48:55.056
System.out.println(ZonedDateTime.now().format(DateTimeFormatter.ISO_LOCAL_TIME));
// 7:48:55
System.out.println(LocalTime.now().getHour() + ":" + LocalTime.now().getMinute() + ":" + LocalTime.now().getSecond());
// 07:48:55
System.out.println(new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime()));
// 074855
System.out.println(new SimpleDateFormat("HHmmss").format(Calendar.getInstance().getTime()));
// 07:48:55
System.out.println(new Date().toString().substring(11, 20));
시차의 경우 달력은 00:00이 아닌 01.01.1970, 01:00에 시작됩니다. java.util.Date 및 java.text.SimpleDateFormat을 사용하는 경우 1 시간을 보상해야합니다.
long start = System.currentTimeMillis();
long end = start + (1*3600 + 23*60 + 45) * 1000 + 678; // 1 h 23 min 45.678 s
Date timeDiff = new Date(end - start - 3600000); // compensate for 1h in millis
SimpleDateFormat timeFormat = new SimpleDateFormat("H:mm:ss.SSS");
System.out.println("Duration: " + timeFormat.format(timeDiff));
다음과 같이 인쇄됩니다.
기간 : 1 : 23 : 45.678
참고 URL : https://stackoverflow.com/questions/8150155/java-gethours-getminutes-and-getseconds
반응형
'your programing' 카테고리의 다른 글
JPA 주석에 다중 열 제약 조건을 도입하는 방법은 무엇입니까? (0) | 2020.10.13 |
---|---|
ajax 방식으로 레일 3에 양식 제출 (jQuery 사용) (0) | 2020.10.13 |
봄에는 항아리 내부의 파일이 보이지 않습니다. (0) | 2020.10.13 |
Java의 Exception.printStackTrace ()에 해당하는 C #? (0) | 2020.10.13 |
십진수의 정수 부분을 얻는 가장 좋은 방법 (0) | 2020.10.13 |