programing

현재 시각을 취득하기 위한 Java 코드

kingscode 2022. 8. 25. 22:02
반응형

현재 시각을 취득하기 위한 Java 코드

코드 검색 중java응용 프로그램에 로컬 PC 시스템 시간을 가져오거나 동기화합니다.

이것을 시험해 보세요.

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class currentTime {

    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        System.out.println( sdf.format(cal.getTime()) );
    }

}

원하는 방식으로 SimpleDateFormat을 포맷할 수 있습니다.자세한 내용은 java api에서 확인할 수 있습니다.

SimpleDateFormat(단순 날짜 형식)

캘린더

둘다요.

new java.util.Date()

그리고.

System.currentTimeMillis()

현재 시스템 시간이 표시됩니다.

dr;dr

Instant.now()  // UTC

…혹은…

ZonedDateTime.now(
    // Specify time zone.
    ZoneId.of( "Pacific/Auckland" )
)  

세부 사항

번들된 제품java.util.Date/.Calendar수업은 귀찮기로 악명 높다.그들을 피하세요.이들은 이제 java.time 프레임워크로 대체된 레거시입니다.

대신 다음 중 하나를 사용합니다.

java.time

ZonedDateTime zdt = ZonedDateTime.now();

오래된 코드에 필요한 경우 java.util로 변환합니다.날짜. UTC 타임라인의 한 순간을 통과합니다.

java.util.Date date = java.util.Date.from( zdt.toInstant() );

시간대

JVM의 현재 기본 시간대에 암묵적으로 의존하지 말고 원하는/예상 시간대를 명시적으로 지정하는 것이 좋습니다.

ZoneId zoneId = ZoneId.of( "America/Montreal" );
ZonedDateTime zdt = ZonedDateTime.now( zoneId );  // Pass desired/expected time zone.

Java의 날짜 유형 표(현대 및 레거시 모두)

조다 타임

참고로 Joda-Time 프로젝트는 현재 유지보수 모드에 있으며 팀은 java.time 클래스로의 이행을 권고하고 있습니다.

DateTime now = DateTime.now();

Joda-Time DateTime 개체에서 java.util로 변환합니다.다른 클래스와의 상호 운용 날짜...

java.util.Date date = now.toDate();

게시하기 전에 StackOverflow를 검색하십시오.당신의 질문은 이미 질문과 답변이 완료되었습니다.


java.time 정보

java.time 프레임워크는 Java 8 이후에 포함되어 있습니다.이러한 클래스는 , 및 등 문제가 많은 오래된 레거시 날짜 시간 클래스를 대체합니다.

현재 유지보수 모드에 있는 Joda-Time 프로젝트는 java.time 클래스로의 이행을 권장합니다.

자세한 내용은 Oracle 자습서를 참조하십시오.또한 Stack Overflow를 검색하여 많은 예와 설명을 확인하십시오.사양은 JSR 310입니다.

java.time 클래스는 어디서 얻을 수 있습니까?

  • 자바 SE 8, 자바 SE 9 이후
    • 붙박이.
    • 번들 구현이 포함된 표준 Java API의 일부입니다.
    • Java 9에는 몇 가지 사소한 기능과 수정 사항이 추가되어 있습니다.
  • Java SE 6 및 Java SE 7
    • java.time 기능의 대부분은 ThreeTen 백포트의 Java 6 및7로 백포트됩니다.
  • 안드로이드
    • 최신 버전의 Android 번들 구현 java.time 클래스.
    • 이전의 Android에서는 쓰리텐ABP 프로젝트는 ThreeTen-Backport(상기)를 채택하고 있습니다.'쓰리텐ABP 사용방법'을 참조하십시오.

Java 또는 Android 버전에 사용할 java.time 라이브러리의 표

쓰리텐 엑스트라 프로젝트는 java.time을 추가 클래스로 확장합니다.이 프로젝트는 향후 java.time에 추가될 수 있는 가능성을 입증하는 기반입니다.여기에는 , , , 유용한 클래스가 있습니다.

System.current Time Millis()

다른 건 다 잘 풀려요예를 들어 새로운 Date()는 System.currentTimeMillis()를 호출합니다.

보다 효율적이고 호환성이 뛰어난 이 방법을 사용해 보십시오.

SimpleDateFormat time_formatter = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss.SSS");
String current_time_str = time_formatter.format(System.currentTimeMillis());
//Log.i("test", "current_time_str:" + current_time_str);

더 많은 개발자들을 위해, 그리고 감사하게도 Basil Bourque에게, 저는 이 주제에 제 돌을 추가하고 싶습니다.

HH를 얻으려면 다음 절차를 따릅니다.MM:SS 포맷은 다음과 같습니다.

LocalTime hour = ZonedDateTime.now().toLocalTime().truncatedTo(ChronoUnit.SECONDS);

건배.

추신: 적어도 Java 8에서만 동작합니다!

위에서 말한 바와 같이

Date d = new Date();

또는 사용

Calendar.getInstance();

밀리스로 원하신다면

System.currentTimeMillis()

무슨 뜻인지 잘 모르겠지만, 아마 넌 그냥 네가 원하는 걸

Date d = new Date();

이것을 시험해 보세요.

final String currentTime    = String.valueOf(System.currentTimeMillis());

새 날짜()를 사용하면 현재 시간을 알 수 있습니다.

어떤 형식으로 표현해야 하는 경우(일반적으로 표현해야 하는 경우)에는 포메터를 사용합니다.

DateFormat df = DateFormat.getDateTimeInstance (DateFormat.MEDIUM, DateFormat.MEDIUM, new Locale ("en", "EN"));
String formattedDate = df.format (new Date ());

새로운 Date().get Time()이 버깅되었습니다.

    Date date = new Date();
    System.out.println(date);
    System.out.println(date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds());
    long t1 = date.getTime();
    System.out.println((t1 / 1000 / 60 / 60) % 24 + ":" + (t1 / 1000 / 60) % 60 + ":" + (t1 / 1000) % 60);
    long t2 = System.currentTimeMillis();
    System.out.println((t2 / 1000 / 60 / 60) % 24 + ":" + (t2 / 1000 / 60) % 60 + ":" + (t2 / 1000) % 60);

잘못된 타임밀리를 돌려주네요. System.currentTimeMillis()날짜 인스턴스에 해당 시간 밀리를 알려달라고 요청했으므로 다른 시간대에서 반환하지 말고 일치하는 시간 밀리를 반환해야 합니다.권장되지 않는 메서드만 올바른 값을 반환하는 것이 재미있습니다.

시스템 시각을 취득하려면 Calendar.getInstance().getTime()을 사용합니다.

그리고 현재 시간을 가지려면 매번 새로운 캘린더 인스턴스를 얻어야 합니다.

명령줄을 사용하여 Java 코드에서 시스템 시간을 변경할 수 있습니다.

꽤 오래된 질문인 거 압니다.다만, 그 점을 명확히 하고 싶다.

Date d = new Date() 

는 현재 버전의 Java에서 해제되어 있습니다.권장되는 방법은 달력 개체를 사용하는 것입니다.예:

Calendar cal = Calendar.getInstance();
Date currentTime = cal.getTime();

앞으로 이 질문을 참고할 수 있는 분들에게 도움이 되었으면 합니다.모두에게 감사를 표합니다.

현재 날짜를 얻으려면 이것을 시도해 보세요.getters 를 사용하면, 현재의 시, 분, 초를 취득할 수도 있습니다.

new Date(System.currentTimeMillis()).get....()

언급URL : https://stackoverflow.com/questions/833768/java-code-for-getting-current-time

반응형