2013-05-07 15 views
10

Come posso convertire una data in gg/mm/aaaa in un formato che supporti sqlite aaaa-MM-gg'T 'HH: mm: sscome convertire una data gg/mm/aaaa in aaaa-MM-gg HH: mm: ss Android

ad esempio:

public static String convertStringToData(String stringData) 
     throws ParseException { 

    SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/aaaa");//yyyy-MM-dd'T'HH:mm:ss 
    SimpleDateFormat output = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    Date data = sdf.parse(stringData); 
    String formattedTime = output.format(data); 
    return formattedTime; 
} 

risposta

13
public static String formatDate (String date, String initDateFormat, String endDateFormat) throws ParseException { 

    Date initDate = new SimpleDateFormat(initDateFormat).parse(date); 
    SimpleDateFormat formatter = new SimpleDateFormat(endDateFormat); 
    String parsedDate = formatter.format(initDate); 

    return parsedDate; 
} 

Ciò restituirà la data analizzato come una stringa, con il formato (iniziale e finale) come parametri al metodo.

12
SimpleDateFormat originalFormat = new SimpleDateFormat("dd MM yyyy"); 
    SimpleDateFormat targetFormat = new SimpleDateFormat("yyyy MM dd HH:mm:ss"); 
    Date date; 
    try { 
    date = originalFormat.parse("21 6 2013"); 
    System.out.println("Old Format : " + originalFormat.format(date)); 
    System.out.println("New Format : " + targetFormat.format(date)); 

    } catch (ParseException ex) { 
     // Handle Exception. 
    } 

Vecchio Formato: 21 06 2013

Nuovo Formato: 2013 06 21 00:00:00

5
Date initDate = new SimpleDateFormat("dd/MM/yyyy").parse("10/12/2016"); 
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); 
String parsedDate = formatter.format(initDate); 
System.out.println(parsedDate); 
+1

forse si può spiegare come e perché questo codice aiuta il PO? –

1
public static final String DATE_DASH_FORMAT = "yyyy-MM-dd"; 
public static final String DATE_FORMAT = "MM/dd/yyyy"; 

public static String prepareYearMonthDateFromString(String dateStr){ 
    try 
    { 
     Date date = new SimpleDateFormat(DATE_FORMAT , Locale.ENGLISH).parse(dateStr); 
     DateFormat formatter = new SimpleDateFormat(DATE_DASH_FORMAT , Locale.getDefault()); 
     dateStr = formatter.format(date.getTime()); 
    } 
    catch(ParseException e) 
    { 
     e.printStackTrace(); 
    } 

    return dateStr; 
} 
Problemi correlati