come convertire la stringa java nell’object Date

Ho una corda

String startDate = "06/27/2007"; 

ora devo ottenere l’object Date. My DateObject dovrebbe essere lo stesso valore di startDate.

Sto facendo così

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

Ma l’output è in formato

27 gennaio 00:06:00 PST 2007.

Fondamentalmente hai effettivamente convertito la tua data in un formato stringa in un object data. Se lo stampi a quel punto, otterrai l’output di formattazione della data standard. Per formattarlo successivamente, è necessario convertirlo nuovamente in un object data con un formato specificato (già specificato in precedenza)

 String startDateString = "06/27/2007"; DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); Date startDate; try { startDate = df.parse(startDateString); String newDateString = df.format(startDate); System.out.println(newDateString); } catch (ParseException e) { e.printStackTrace(); } 

“mm” indica il frammento “minuti” di una data. Per la parte “mesi”, utilizzare “MM”.

Quindi, prova a cambiare il codice in:

 DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); Date startDate = df.parse(startDateString); 

Modifica: un object DateFormat contiene una definizione di formattazione della data, non un object Date, che contiene solo la data senza riguardo alla formattazione. Quando parliamo di formattazione, stiamo parlando di creare una rappresentazione String di una data in un formato specifico. Vedi questo esempio:

  import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class DateTest { public static void main(String[] args) throws Exception { String startDateString = "06/27/2007"; // This object can interpret strings representing dates in the format MM/dd/yyyy DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); // Convert from String to Date Date startDate = df.parse(startDateString); // Print the date, with the default formatting. // Here, the important thing to note is that the parts of the date // were correctly interpreted, such as day, month, year etc. System.out.println("Date, with the default formatting: " + startDate); // Once converted to a Date object, you can convert // back to a String using any desired format. String startDateString1 = df.format(startDate); System.out.println("Date in format MM/dd/yyyy: " + startDateString1); // Converting to String again, using an alternative format DateFormat df2 = new SimpleDateFormat("dd/MM/yyyy"); String startDateString2 = df2.format(startDate); System.out.println("Date in format dd/MM/yyyy: " + startDateString2); } } 

Produzione:

 Date, with the default formatting: Wed Jun 27 00:00:00 BRT 2007 Date in format MM/dd/yyyy: 06/27/2007 Date in format dd/MM/yyyy: 27/06/2007 
  try { String datestr="06/27/2007"; DateFormat formatter; Date date; formatter = new SimpleDateFormat("MM/dd/yyyy"); date = (Date)formatter.parse(datestr); } catch (Exception e) {} 

il mese è MM, i minuti sono mm ..

La versione concisa:

 String dateStr = "06/27/2007"; DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy"); Date startDate = (Date)formatter.parse(dateStr); 

Aggiungi un blocco try / catch per una ParseException per assicurarti che il formato sia una data valida.

 var startDate = "06/27/2007"; startDate = new Date(startDate); console.log(startDate);