2016-08-13 2 views
-3

String은 다음과 같이 형식이 지정되어 있습니다. "dd-MM-yyyy". 문자열 을 변수 day에 저장된 변수에 저장하려고합니다. StringMMyyyy 부분에 대해 동일한 작업을 수행하려고합니다. 나는 "/" charfor 루프의 현재 색인에있을 때마다 String을 구문 분석하여 for 루프를 사용하여 String을 분리한다고 상상할 수 있습니다.날짜 문자열을 정수 변수로 구문 분석하는 방법은 무엇입니까?

날짜를 포함하는 String을 각각 일, 월, 연도로 분리하여 정수형 변수로 변환하려면 어떻게해야합니까? 아마도이 StringDate 개체로 전송하면이 메서드를 처리하는 멤버 메서드 또는 필드 (더 쉽게 생각할 수 있음)로 인해 더 쉽게 만들 수 있습니다.

+0

나는 그것이 하나의 복제물이라고 생각하지 않는다. 아마도 다른 질문 일 것이다. –

+0

중복 : [자바 : 날짜에서 정수 가져 오기] (http://stackoverflow.com/q/7182996/642706) 및 [자바 날짜에서 연도, 월, 일 등을 가져오고 싶습니다 ...] (http : // stackoverflow .com/q/9474121/642706) 및 [Java date issue in month and year] (http://stackoverflow.com/q/13602552/642706) 등을 참조하십시오. –

답변

3
 String date = "13-08-2016"; 
     String[] values = date.split("-"); 
     int day = Integer.parseInt(values[0]); 
     int month = Integer.parseInt(values[1]); 
     int year = Integer.parseInt(values[2]); 

그런 다음 int로 각 값을 변환 String의 배열에 날짜를 구문 분석 String.split(String regex) 방법을 사용할 수 있습니다.

Javadoc의 :

공개 문자열 [] 스플릿 (문자열 정규식)이 문자열 주위 지정된 정규 표현 일치 나눈다. 이 메소드는 지정된 표현식과 인수가 0 인 2- 인수 분리 메소드를 호출하여 작동합니다. 따라서 빈 문자열을 뒤에 오는 문자열은 배열에 포함되지 않습니다.

더 여기 읽기 : String.split

1

당신은 당신의 경우에 유용 String.split(String regex) 방법을 찾을 수 있습니다.

따라서 귀하의 경우에는 분할 부분 문자열을 분할 받아 사용할 수 있습니다

String str = "20-04-2016"; 
String[] splitArray = str.split("-"); 
int day = Integer.parseInt(splitArray[0]); 
int month = Integer.parseInt(splitArray[1]); 
int year = Integer.parseInt(splitArray[2]); 
1

그럼 당신이 사용하는 언어를 지정하시기 바랍니다 ..

는 기본적으로 모든 언어는 문자열을 구문 분석하는 기능을 제공 날짜를 입력 한 다음 일, 월 및 연도를 가져옵니다. JS에서

, 자바 마찬가지로
var d = new Date("dd-MM-yyyy") 
d.getDay(); 
d.getMonth(); 
d.getYear(); 

,

DateFormat df = new SimpleDateFormat("mm/dd/yyyy"); 
Date startDate = df.parse(startDate); 
+0

질문에 Java 태그가 있습니다. @ cricket_007이 (가) 이미 편집 된 –

+0

님의 답변을 적절하게 수정하십시오. –

1

다음을 사용할 수있는 Java 8

String dateStr = "14-08-2016"; 
    DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy"); 
    Date date = (Date)formatter.parse(dateStr); 
    System.out.println(date.getMonth()+1); 

DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("dd-MM-yyyy"); 
    LocalDate parsedDate = LocalDate.parse(dateStr, formatter1); 
    System.out.println(parsedDate.getMonth().getValue()); 
관련 문제