CruellaDeVille Skrevet 11. mai 2006 Del Skrevet 11. mai 2006 Jeg skal registrere en dato fra et JTextField, og er veeeeldig usikker på hvordan jeg best skal gjøre det. Jeg har skjønt at java.util.Date er utdatert og at jeg skal bruke andre klasser istedet. Problemet er at jeg finner ikke ut hvilken. Datoen fra JTextFieldet skal inn i en database, så jeg tenker litt på java.sql.Date, men den vil ha en long i konstruktør. Hvordan konverterer jeg Streng 08102972 til en long? Lenke til kommentar
Patton Skrevet 11. mai 2006 Del Skrevet 11. mai 2006 Ta en kikk paa JCalendar. Er veldig fiffig Lenke til kommentar
HV Skrevet 11. mai 2006 Del Skrevet 11. mai 2006 Hei java.util.Date er stort sett byttet ut med java.util.Calendar Vennlig hilsen Hv Lenke til kommentar
CruellaDeVille Skrevet 12. mai 2006 Forfatter Del Skrevet 12. mai 2006 Hei java.util.Date er stort sett byttet ut med java.util.Calendar Vennlig hilsen Hv 6084328[/snapback] Jeg ble vel ikke særlig klokere. Men la meg se om jeg kan forklare ved hjelp av et eksempel. Jeg har String date="08101972" Av dette skal jeg lage en dato som kan regnes med (finne ut om differansen mellom dato1 og dato2 er større enn 6 år) Jeg kan lage et GregorianCalendar-objekt av String date, ved hjelp av substring (tre deler) og Integer.parseInt(), men hva gjør jeg så med mitt gregorianCalendar-objekt? Jeg skal putte det inn i en database, med sql-formatet date (dvs på formen yyyy-mm-dd), så kanskje ikke GregorianCalendar likevel er det beste valget for format. Jeg HAR forsøkt å lese api'en, men for å si det rett ut: Jeg er blondine og skjønner lite av den Altså, jeg har en streng, "08101972" og skal konvertere den til '1972-10-08', slik at jeg kan putte den inn i en database. Så hva er egentlig mine alternativer? Behøver jeg å bruke GregorianCalendar eller kan jeg bare konvertere streng 08101972 til streng 1972-10-08 og bruke mysql til å regne med disse datoene? (det vet jeg nemlig går) Lenke til kommentar
drool Skrevet 12. mai 2006 Del Skrevet 12. mai 2006 Hei java.util.Date er stort sett byttet ut med java.util.Calendar Vennlig hilsen Hv 6084328[/snapback] Jeg ble vel ikke særlig klokere. Men la meg se om jeg kan forklare ved hjelp av et eksempel. Jeg har String date="08101972" Av dette skal jeg lage en dato som kan regnes med (finne ut om differansen mellom dato1 og dato2 er større enn 6 år) Jeg kan lage et GregorianCalendar-objekt av String date, ved hjelp av substring (tre deler) og Integer.parseInt(), men hva gjør jeg så med mitt gregorianCalendar-objekt? Jeg skal putte det inn i en database, med sql-formatet date (dvs på formen yyyy-mm-dd), så kanskje ikke GregorianCalendar likevel er det beste valget for format. Jeg HAR forsøkt å lese api'en, men for å si det rett ut: Jeg er blondine og skjønner lite av den Altså, jeg har en streng, "08101972" og skal konvertere den til '1972-10-08', slik at jeg kan putte den inn i en database. Så hva er egentlig mine alternativer? Behøver jeg å bruke GregorianCalendar eller kan jeg bare konvertere streng 08101972 til streng 1972-10-08 og bruke mysql til å regne med disse datoene? (det vet jeg nemlig går) 6090749[/snapback] Jeg tror nok kanskje jeg ville brukt GregorianCalendar. Er vel det som er "in" Lenke til kommentar
CruellaDeVille Skrevet 12. mai 2006 Forfatter Del Skrevet 12. mai 2006 Jeg tror nok kanskje jeg ville brukt GregorianCalendar. Er vel det som er "in" 6091415[/snapback] Men finnes det enklere måte å konvertere String 08101972 til en gregorianCalendar enn slik? private GregorianCalendar convertGregorianBirthDate(String birthDate){ int day = Integer.parseInt(birthDate.substring(0,2)); int month = Integer.parseInt(birthDate.substring(2,4)); int year = Integer.parseInt(birthDate.substring(4)); return new GregorianCalendar(year, month, day); } Og jeg må konvertere denne før jeg setter den inn i databasen også... Og der ser jeg neste utfordring komme. Lenke til kommentar
HV Skrevet 12. mai 2006 Del Skrevet 12. mai 2006 Hei Slik kan du opprette java.sql.Date: Calendar calendar = new GregorianCalendar(2006, 5, 12); java.sql.Date date = new java.sql.Date(calendar.getTime().getTime()); Du kan også konvertere strengen "08101972" til "19701008", dette går også greit. Mange fordeler med engelske datoer. Tror jeg trenger å vite litt mer spesifikt om problemstillingen din. Nøyaktig hva er det du skal gjøre og er det objekter du må bruke? Vennlig hilsen HV Lenke til kommentar
CruellaDeVille Skrevet 12. mai 2006 Forfatter Del Skrevet 12. mai 2006 Hei Slik kan du opprette java.sql.Date: Calendar calendar = new GregorianCalendar(2006, 5, 12); java.sql.Date date = new java.sql.Date(calendar.getTime().getTime()); Du kan også konvertere strengen "08101972" til "19701008", dette går også greit. Mange fordeler med engelske datoer. Tror jeg trenger å vite litt mer spesifikt om problemstillingen din. Nøyaktig hva er det du skal gjøre og er det objekter du må bruke? Vennlig hilsen HV 6091450[/snapback] Supert! Tusen takk, hvordan konverterer jeg andre veien? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå