복붙노트

[SQL] 날짜 형식을 변환

SQL

날짜 형식을 변환

''14 2010 -dec 내가 주어진 날짜의 숫자 형식의 월을 얻기 위해 원하는대로 내가 날짜를 얻었다. 입니다., 나는 '14에 날짜를 변환 할 -12-2010 '.

해결법

  1. ==============================

    1.

    DateFormat inFm = new SimpleDateFormat("d-MMM-y");
    DateFormat outFm = new SimpleDateFormat("d-M-yyyy");
    Date date = inFm.parse("14-Dec-2010");
    String output = outFm.format(date);
    

    일반적으로, 당신은 내부적으로 다음 출력시 문자열로 변환 날짜와 같은 날짜 형식을 사용합니다.

  2. ==============================

    2.

    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateFormatter {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            Date date = new Date("14-Dec-2010"); //deprecated. change it to your needs
            DateFormat df = new SimpleDateFormat("dd-MM-yyyy");
            System.out.println(df.format(date));
    
        }
    
    }
    
  3. ==============================

    3.나는이 SQL 변환이 작동해야한다고 생각

    나는이 SQL 변환이 작동해야한다고 생각

    SELECT CONVERT (날짜, '14 -dec 2010 ', 105)

  4. ==============================

    4.

    DateFormat format = new SimpleDateFormat("dd-MMM-yyyy");
    Date date= format.parse("14-Dec-2010");
    

    이것은 당신이 지금 날짜 개체를 얻을 것이다 당신이 어떤 형식으로 인쇄 할 수있는 방법이다. 참고 : 0 월 시작, 그래서 12월 것이 11 것

  5. ==============================

    5.자바의 초기 버전과 함께 제공되는 귀찮은 된 날짜 - 시간 클래스를 사용하지 마십시오. 그들은 잘못 설계 및 혼란이다.

    자바의 초기 버전과 함께 제공되는 귀찮은 된 날짜 - 시간 클래스를 사용하지 마십시오. 그들은 잘못 설계 및 혼란이다.

    오래된 클래스는 java.time 프레임 워크에 의해 대체된다.

    날과 시간대를 사용 LOCALDATE 클래스없는 시간없이 날짜 만 값.

    DateTimeFormatter를 사용하여 문자열 입력을 구문 분석합니다.

    String input = "14-Dec-2010";
    
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern( "dd-MMM-yyyy" );
    LocalDate localDate = LocalDate.parse( input , formatter );
    

    다른 형식의 문자열을 생성하려면, 다른 포맷을 정의합니다.

    DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern( "dd-MM-yyyy" );
    String output = localDate.format( formatter2 );
    

    더 나은 아직, 자동으로 지역화 DateTimeFormatter을 할 수 있습니다.

    Locale l = Locale.CANADA_FRENCH ;  // Or Locale.US, Locale.ITALY, etc.
    DateTimeFormatter f = DateTimeFormatter.ofLocalizedDate( FormatStyle.SHORT ).withLocale( l );
    String output = localDate.format( f );  // Generates String in a localized format.
    

    SQL 그냥 객체를 전달할를 들어, 문자열을 사용하지 마십시오. 해, PreparedStatement에 setObject를 통해 패스 LOCALDATE 경우, JDBC 4.2 스펙과의 JDBC 드라이버를 준수합니다.

    myPrepStmt.setObject( localDate );
    

    그렇지 않은 경우, 기존의 클래스에 추가 된 새로운 변환 방법을 사용하여 예전의 java.sql.Date 클래스에 속한다.

    java.sql.Date sqlDate = java.sql.Date.from( localDate );
    myPrepStmt.setDate( sqlDate );
    
  6. from https://stackoverflow.com/questions/4436842/converting-date-format by cc-by-sa and MIT license