konstruktørene ser sådan ud for java.sql.Data (i jdk1.4): Date(int year, int month, int day) Deprecated. instead use the constructor Date(long date)
Date(long date) Constructs a Date object using the given milliseconds time value.
for mig at se giver det ikke mening at ændre repræsentationen af java.sql.Date, først når den hives ud af databasen ville jeg parse den til et "bedre" format - og derefter eks. vise den på skærmen. Alternativ skal den nok gemmes som en string hvis det er fordi databasen er koblet sammen med andre programmer og du kun ønsker at parse datoen én gang ?
Problemet er at når man skriver datoen ind i databasen sker det via formen dd-MM-yyyy som en JFormattedTextField sørger for at bliver skrevet i rigtig format. Når jeg så henter en række ud som skal skrives i JFormattedTextField igen så man kan opdatere i det passer den ikke ind i den fordi db laver formen dd-MM-yyyy til yyyy-MM-dd.
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //som passer til java.sql.Date Date nyDato = new Date(); try { nyDato = df.parse(dato.toString()); } catch(ParseException e) { e.printStackTrace(); } df = new SimpleDateFormat("dd-MM-yyyy");//som skal over i swing komponent System.out.println(df.format(nyDato)); }
public static void main(String args[]) { java.sql.Date test = new java.sql.Date(12345); test(test); }
Hvordan får jeg så metoden til at returnere en værdi?
public static java.sql.Date test(java.sql.Date dato) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //som passer til java.sql.Date Date nyDato = new Date(); try { nyDato = df.parse(dato.toString()); } catch(ParseException e) { e.printStackTrace(); } df = new SimpleDateFormat("dd-MM-yyyy");//som skal over i swing komponent return df.format(nyDato); }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.