Konvertierung von java-Objekt Date oder DateTime

Ich habe eine List<Object[]> resultList = entityManager.createNativeQuery(SOME QUERY).getResultList(); einige Der Abfrage ist das Ergebnis der inneren Verknüpfung von Tabellen.
Wenn ich versuche, Zugriff auf die Elemente von Object[] ist eine von denen ist ein Datum, das ich habe versucht zu tun,

for(Object[] obj : resultList)
{
Date createdDate = obj[7] !=null ? new Date(Long.valueOf(obj[7] + "")) : null;
} 

dies gab offensichtliche Ausnahme nested exception is java.lang.NumberFormatException: For input string: "2012-11-20"
ich änderte das Datum DateTime bekommen TO_CHAR(createdDate,'DD.MM.YYYY:HH24:MI:SS')
und versuchte den code unten

   DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
    Date createdDate = null;
    try 
    {
        createdDate = df.parse(obj[7] + "");
    } 
    catch (ParseException e) 
    {
        e.printStackTrace();
    }

dieser Ansatz führt createdDate = null.
Irgendwelche Vorschläge ?

  • Sie sollten nicht zu analysieren, Termine cominf aus einer SQL-Abfrage. Sollten Sie als Date-oder Timestamp-Instanzen. Zeigen Sie uns Ihre Anfrage.
  • select project.project_id, project.business_id, project_status_type.project_status_desc, project.create_dtm, project.update_dtm, from project_status_type INNER JOIN project on project_status_type.project_status_type_id = project.project_status_type_id and project.project_id = 12345;
  • Was ist der DB-Spalte-Typ, den Sie speichern Datum? Ist es DateTime-oder ist es VARCHAR ? Wenn Sie DateTime ist wie @JBNizet erwähnt, müssen Sie nur werfen Sie Ihre Objekte in java.sql.Datum. Wenn es vom Typ VARCHAR ist und Sie wissen, die forme (z.B. 2012-11-20), dann die folgenden code-snippet nützlich sein können.
  • es ist das DATUM
InformationsquelleAutor tinker_fairy | 2012-12-14
Schreibe einen Kommentar