2016-03-23 6 views
-1

Я искал, но не нашел точный формат (YY/MM/DD) для разбора строки.Как преобразовать строку типа YY/MM/DD в java.util.Date?

Как преобразовать строку типа YY/MM/DD в java.util.Date. У меня есть строки в формате «160310», «160211».

+0

показать, что вы попробовали до сих пор – KVK

+0

Всегда ли такой же формат строковой даты? –

+1

Итак, вы предполагаете, что «160310» - это не 16 марта 2010 года –

ответ

9

Для этого можно использовать SimpleDateFormat.

String target = "160211"; 
DateFormat df = new SimpleDateFormat("yyMMdd", Locale.ENGLISH); 
Date result = df.parse(target); 

Дополнительные параметры и информацию вы всегда можете извлечь полную документацию об этом здесь: http://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html

+0

@ScaryWombat, хотя на Java 8 возможно, пришло время использовать библиотеку DateTime JSR 310;) –

-1

Как это:

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

public class DateTester { 

    public static void main(String[] args) { 
     SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd"); 

     Date date = null; 
     try { 
      date = sdf.parse("160310"); 
     } catch (ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     System.out.println(date); 
    } 
} 
+0

Сбой, серьезно ...? – Tim

1

Нит: Формат не «YY/MM/DD ", это" YYMMDD "(обратите внимание на косые черты). Независимо от того, вы можете использовать SimpleDateFormat разобрать такие строки:

DateFormat df = new SimpleDateFormat("yyMMdd"); 
Date date = df.parse("160211"); 
0

Используйте следующий код, он будет

String mydate="160310"; 
    SimpleDateFormat sd=new SimpleDateFormat("YYmmdd",Locale.ENGLISH); 
    Date date = sd.parse(mydate); 
    System.out.println(date);` 
1

Если вы достигли области Java 8, вы можете также рассмотреть вопрос о

 Date dt = Date.valueOf(LocalDate.from(DateTimeFormatter.ofPattern("yyMMdd").parse("160123"))); 

Но на самом деле вы не сделали бы переход на старую уродливую дату, если сможете избежать этого, но скорее согласитесь с созданным вами LocalDate.

Смежные вопросы