Java에서 Date와 String을 상호 변환하는 방법

3018 단어 javadatestring
우리는 사이트에 등록할 때 이름, 나이, 생년월일 등 개인 정보를 작성해야 한다. 페이지에 있는 생년월일의 값이 백그라운드로 전달될 때 문자열이고 데이터베이스에 저장할 때 날짜 유형이 필요하다. 반대로 페이지에 표시될 때 데이터베이스에서 생년월일을 받아야 한다. 이때 이 유형은 날짜 유형이다.그리고 이 날짜 유형을 문자열로 바꾸어 페이지에 표시해야 합니다. Java의 API에서는 날짜와 문자열이 서로 전달되는 클래스인 DateForamt를 제공합니다.DateForamt는 추상적인 클래스이기 때문에 평소에 사용하는 것은 하위 클래스인 Simple DateFormat입니다.SimpleDateFormat에는 4개의 구조 함수가 있으며 두 번째로 많이 사용됩니다.
구조 함수 중 pattern은 시간 모드로 구체적으로 어떤 모드가 있는지 API에 설명되어 있습니다. 다음과 같습니다.
1. 날짜 문자열 (포맷)

package com.test.dateFormat;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.junit.Test;

public class Date2String {
  @Test
  public void test() {
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    System.out.println(sdf.format(date));
    sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(sdf.format(date));
    sdf = new SimpleDateFormat("yyyy MM dd  HH:mm:ss");
    System.out.println(sdf.format(date));
  }
}

2016-10-24
2016-10-24 21:59:06
2016년 10월 24일 21:59:06
2. 문자열 전환 날짜(확인)

package com.test.dateFormat;

import java.text.ParseException;
import java.text.SimpleDateFormat;

import org.junit.Test;

public class String2Date {
  @Test
  public void test() throws ParseException {
    String string = "2016-10-24 21:59:06";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(sdf.parse(string));
  }
}
Mon Oct 24 21:59:06 CST 2016
문자열 전환 날짜를 조작할 때, 주어진 패턴은 주어진 문자열 형식과 일치해야 하며, 그렇지 않으면java를 던질 수 있습니다.text.Parse Exception 이상, 예를 들어 아래의 이것은 잘못된 것입니다. 문자열에 시분초를 표시하지 않았습니다. 그러면 Simple Date Format은 당연히 시분초의 값을 공짜로 해석할 수 없습니다.

package com.test.dateFormat;

import java.text.ParseException;
import java.text.SimpleDateFormat;

import org.junit.Test;

public class String2Date {
  @Test
  public void test() throws ParseException {
    String string = "2016-10-24";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(sdf.parse(string));
  }
}
단, 주어진 패턴이 문자열보다 적으면

package com.test.dateFormat;

import java.text.ParseException;
import java.text.SimpleDateFormat;

import org.junit.Test;

public class String2Date {
  @Test
  public void test() throws ParseException {
    String string = "2016-10-24 21:59:06";
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    System.out.println(sdf.parse(string));
  }
}
Mon Oct 24 00:00:00 CST 2016
시분초가 0이라는 것을 알 수 있고 해석되지 않은 것은 가능하다.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기