Я искал, но не нашел точный формат (YY/MM/DD) для разбора строки.Как преобразовать строку типа YY/MM/DD в java.util.Date?
Как преобразовать строку типа YY/MM/DD в java.util.Date
. У меня есть строки в формате «160310», «160211».
Я искал, но не нашел точный формат (YY/MM/DD) для разбора строки.Как преобразовать строку типа YY/MM/DD в java.util.Date?
Как преобразовать строку типа YY/MM/DD в java.util.Date
. У меня есть строки в формате «160310», «160211».
Для этого можно использовать 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
@ScaryWombat, хотя на Java 8 возможно, пришло время использовать библиотеку DateTime JSR 310;) –
Как это:
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);
}
}
Сбой, серьезно ...? – Tim
Нит: Формат не «YY/MM/DD ", это" YYMMDD "(обратите внимание на косые черты). Независимо от того, вы можете использовать SimpleDateFormat
разобрать такие строки:
DateFormat df = new SimpleDateFormat("yyMMdd");
Date date = df.parse("160211");
Используйте следующий код, он будет
String mydate="160310";
SimpleDateFormat sd=new SimpleDateFormat("YYmmdd",Locale.ENGLISH);
Date date = sd.parse(mydate);
System.out.println(date);`
Если вы достигли области Java 8, вы можете также рассмотреть вопрос о
Date dt = Date.valueOf(LocalDate.from(DateTimeFormatter.ofPattern("yyMMdd").parse("160123")));
Но на самом деле вы не сделали бы переход на старую уродливую дату, если сможете избежать этого, но скорее согласитесь с созданным вами LocalDate.
показать, что вы попробовали до сих пор – KVK
Всегда ли такой же формат строковой даты? –
Итак, вы предполагаете, что «160310» - это не 16 марта 2010 года –