sourcecode

현재 날짜와 시간을 얻는 방법

copyscript 2022. 8. 19. 21:01
반응형

현재 날짜와 시간을 얻는 방법

자바에서 현재 날짜와 시간을 얻으려면 어떻게 해야 하나요?

에 상당하는 것을 찾고 있습니다.DateTime.NowC#에서.

새로 구성하기만 하면 됩니다.Date인수 없이 오브젝트.이것에 의해, 현재의 날짜와 시각이 새로운 오브젝트에 할당됩니다.

import java.util.Date;

Date d = new Date();

인수 0 생성자에 대한 Javadocs의 표현은 다음과 같습니다.

Date 개체를 할당하고 할당된 시간을 나타내도록 초기화합니다(가장 가까운 밀리초 단위).

사용하고 있는 것을 확인해 주세요.java.util.Date가 아니라java.sql.Date-- 후자는 제로 타임의 컨스트럭터를 가지고 있지 않고, 전혀 다른 대화의 토픽이 되는 다소 다른 의미를 가지고 있다.:)

Java Date 및 Calendar 클래스는 대부분 설계가 불량하다고 간주됩니다.Java의 내장 날짜 라이브러리 대신 일반적으로 사용되는 라이브러리인 Joda Time을 살펴봐야 합니다.

등가물DateTime.NowJoda 시간:

DateTime dt = new DateTime();

갱신하다

댓글에서 언급했듯이 Joda Time의 최신 버전은DateTime.now()메서드, 즉,

DateTime dt = DateTime.now();

dr;dr

Instant.now()

java.time

java.util.날짜 클래스가 Java 8 이후의 새로운 java.time 패키지(튜토리얼)에 의해 구식이 되었습니다.오래된 java.util.날짜/.달력 수업은 귀찮고 혼란스러우며 결함이 있는 것으로 악명 높다.그들을 피하세요.

ZonedDateTime

현재 순간을 java.time으로 가져옵니다.

ZonedDateTime now = ZonedDateTime.now();

A는 다음과 같이 캡슐화되어 있습니다.

  • 날짜.
  • 1초에서 1나노초까지의 분해능을 가진 하루 중 시간.
  • 시간대

시간대를 지정하지 않으면 JVM의 현재 기본 시간대가 자동으로 할당됩니다.디폴트에 암묵적으로 의존하는 것보다 원하는 시간대 또는 예상되는 시간대를 지정하는 것이 좋습니다.

ZoneId z = ZoneId.of( "Pacific/Auckland" );
ZonedDateTime zdt = ZonedDateTime.now( z );

UTC

일반적으로 백엔드 작업(비즈니스 로직, 데이터베이스, 스토리지, 데이터 교환)을 모두 UTC 표준 시간대로 수행하는 습관을 들이는 것이 좋습니다.위의 코드는 JVM의 현재 기본 시간대에 암묵적으로 의존합니다.

Instantclass는 타임라인 내의 시간을 UTC로 나노초로 나타냅니다.

Instant instant = Instant.now();

Instantclass는 java.time의 기본 빌딩 블록 클래스이며 코드 내에서 자주 사용됩니다.

보다 유연한 포맷이 필요한 경우 로 변환합니다.개체를 지정합니다.UTC의 경우 UTC의 경우 편리한 상수를 사용합니다.

OffsetDateTime odt = instant.atOffset( ZoneOffset.UTC );

시간대

사용자에게 프레젠테이션하기 위해 다른 시간대에 쉽게 적응할 수 있습니다.적절한 시간대 이름을 사용합니다.다음과 같은 3~4글자 코드는 사용하지 마십시오.EST ★★★★★★★★★★★★★★★★★」IST.

ZoneId z = ZoneId.of( "America/Montreal" );
ZonedDateTime nowMontreal = instant.atZone( z );

현지화된 날짜-시간 값의 문자열 표현을 생성합니다.

String output = DateTimeFormatter
    .ofLocalizedDate( FormatStyle.FULL )
    .withLocale( Locale.CANADA_FRENCH )
    .format ( nowMontreal );

Instant

또는 UTC 에 머무르려면 를 사용합니다.Instantobject에 .그러면 시간대 할당과 함께 구역화된 날짜 시간의 구성 요소가 제공됩니다.할 수

ZonedDateTime = +

뽑을 수 요.Instant ZonedDateTime.

Instant instantNow = zdt.toInstant();

즉석..예를 들어, 타임존을 지정할 필요는 없습니다.InstantUTC에 .

Instant now = Instant.now();

Calendar 객체를 사용하는 것이 좋습니다.

Calendar now = GregorianCalendar.getInstance()

같이 일하는 게 훨씬 편해요.달력에서 날짜 객체를 가져올 수도 있습니다.

http://java.sun.com/javase/6/docs/api/java/util/GregorianCalendar.html

Java 8의 특징은 다음과 같습니다.

ZonedDateTime dateTime = ZonedDateTime.now();
import java.util.Date;   
Date now = new Date();

Date 객체는 변경 가능하며 복잡한 작업을 수행하려면 jodatime을 사용하십시오.

java.lang.System.currentTimeMillis();에서는 epochEpoch 이후의 됩니다.

import org.joda.time.DateTime;

DateTime now = DateTime.now();

새 날짜 개체를 만들면 기본적으로 현재 시간으로 설정됩니다.

import java.util.Date;
Date now = new Date();

Java는 날짜 및 시간 사용 사례에 대해 항상 불충분한 지원을 받아 왔습니다.들어 기존 등)입니다.java.util.Date ★★★★★★★★★★★★★★★★★」SimpleDateFormatter할 수 는 스레드 세이프가 아니기 때문에 동시성 문제가 발생할 수 있습니다.API를 사용합니다.를 들어 년은 를 in, in in in for 。java.util.Date1900부터 시작하고, 월은 1부터 시작하고, 일수는 0부터 시작합니다. 하다이러한 문제로 인해 다음과 같은 서드파티제의 날짜 및 시간 라이브러리가 인기를 끌었습니다.Joda-Time새로운 날짜와 시각에 대처하기 위해 API는 Java SE 8용으로 설계되어 있습니다.

LocalDateTime timePoint = LocalDateTime.now();
System.out.println(timePoint);

문서 내용:

메서드는 시스템클럭과 기본 타임존을 사용하여 현재 날짜를 반환합니다(늘은 늘이 아닙니다).디폴트 타임존의 시스템클럭에서 현재 날짜 시간을 가져옵니다.그러면 기본 시간대의 시스템클락이 조회되어 현재 날짜 시각이 취득됩니다.이 방법을 사용하면 클럭이 하드코딩되어 있기 때문에 테스트에 대체 클럭을 사용할 수 없게 됩니다.

언급URL : https://stackoverflow.com/questions/2010284/how-to-get-the-current-date-and-time

반응형