programing

표시할 java.sql 타임스탬프 포맷 방법

luckcodes 2022. 11. 27. 20:56

표시할 java.sql 타임스탬프 포맷 방법

java.sql 타임스탬프를 원하는 대로 작성하는 방법(문자열, 표시용)

java.sql.Timestamp확장java.util.Date다음 작업을 수행할 수 있습니다.

String s = new SimpleDateFormat("MM/dd/yyyy").format(myTimestamp);

또는 시간 포함:

String s = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(myTimestamp);

String을 사용합니다.포맷(또는 java.display)을 지정합니다.포맷터):

Timestamp timestamp = ...
String.format("%1$TD %1$TT", timestamp)

편집:
TD와 TT의 의미를 알고 싶다면 포메터의 문서를 참조하십시오.java.util을 클릭합니다.포맷터

첫 번째 'T'는 다음을 의미합니다.

't', 'T'    date/time   Prefix for date and time conversion characters.

그리고 그 'T' 뒤에 오는 문자:

'T'     Time formatted for the 24-hour clock as "%tH:%tM:%tS".
'D'     Date formatted as "%tm/%td/%ty". 

MySQL을 사용하고 데이터베이스 자체가 변환을 수행하도록 하려면 다음을 사용하십시오.

DATE_FORMAT(날짜, 형식)

Java 를 사용해 포맷 하는 경우는, 다음을 사용합니다.

java.text.SimpleDateFormat(단순 날짜 형식)

SimpleDateFormat dateFormat = new SimpleDateFormat("M/dd/yyyy");
dateFormat.format( new Date() );

이 특별한 질문에 대해, 표준적인 제안은java.text.SimpleDateFormat효과가 있지만, 불행한 부작용이 있습니다.SimpleDateFormat 는 스레드 세이프가 아니고, 멀티 스레드 시나리오에서는 출력이 손상되어 예외가 발생하지 않기 때문에, 특히 심각한 문제의 원인이 될 수 있습니다.

이런 건 조다를 보는 걸 강력히 추천해요.왜? 현재 라이브러리보다 훨씬 풍부하고 직관적인 Java용 시간/날짜 라이브러리입니다(또한 새로운 표준 Java 날짜/시간 라이브러리의 기반이 되므로 곧 표준 API를 배우게 될 것입니다).

를 사용합니다.국제화된 어플리케이션에서는 에서 제공하는 형식을 사용합니다.형식을 명시적으로 제어하려면 직접 새 형식을 만듭니다.

java.time

나는 현대적인 답을 제공하고 있다.Timestamp수업은 이미 부실하게 설계되어 있는 것 위에 있는 해킹이다java.util.Date오래전에 사용되었습니다.내 생각엔, 네가 이 모든 걸 가질 수 있을 것 같아.Timestamp현재 java.time으로 업그레이드할 수 없는 레거시 API에서 다운로드하십시오.그럴 때는 모던으로 변환해 주세요.Instant거기서부터 추가 처리를 합니다.

    DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)
            .withLocale(Locale.GERMAN);
    
    Timestamp oldfashionedTimestamp = new Timestamp(1_567_890_123_456L);
    
    ZonedDateTime dateTime = oldfashionedTimestamp.toInstant()
            .atZone(ZoneId.systemDefault());
    String desiredFormat = dateTime.format(formatter);
    
    System.out.println(desiredFormat);

시간대 출력:

07.09.2019 23:02:03

원하는 포맷의 길이 또는 길이를 선택합니다.FormatStyle.SHORT,.MEDIUM,.LONG또는.FULL. 내가 넣을 로케일을 직접 고르세요.Locale.GERMAN예를 들어 원하는 시간대를 선택합니다.ZoneId.of("Europe/Oslo").aTimestamp는 타임존이 없는 시점이기 때문에 년, 월, 일, 시, 분 등으로 변환할 수 있는 타임존이 필요합니다.만약 당신이Timestamp유형의 데이터베이스 값에서 가져옵니다.timestamp 볼 수 ZoneId.systemDefault()이데올로기 때문에더 다른 은 대신 이, 금, 금, 를, RACE로 변환하는 입니다.LocalDateTime를 사용합니다.oldfashionedTimestamp.toLocalDateTime() 해서 형식을 정합니다.LocalDateTime가 같 the the 에서 했던 것과 같은 ZonedDateTime.

문자열 시간 FrSSHtr = timeFrSSH.toString();

언급URL : https://stackoverflow.com/questions/1156468/how-to-format-a-java-sql-timestamp-for-displaying