Avatar billede qumle Nybegynder
07. august 2006 - 15:07 Der er 4 kommentarer

parsing af dates

Hej alle

Jeg har en applikation hvor brugeren skal kunne indtaste datoer i forskellige formater f.eks yyyy-MM-dd el yy-MM-dd el yyMMdd

den eneste måde jeg har fundet, som ikke er deprecated er dateFormat.parse(String).

Dette virker også fint, men da man skal angive et specifict format for et SimpleDateFormat er jeg nødt til at prøve 3 gange i dette tilfælde og så fange Escption hivs det går galt.
Ikke særlig performance veligt eller læsbart

findes der ikke en måde hvor man kan parse en String til en Date hvis strengen bare passer på et eller andet dato format, eller måske et set af dato formater.

Så vidt jeg kan se indeholder Calender klassen ikke nogle parse metoder men kun set f.eks(year, month, day)

dette problem er nol relateret til emnet i denne tråd

http://www.eksperten.dk/spm/606625
Avatar billede arne_v Ekspert
07. august 2006 - 15:19 #1
saa vidt jeg kan se er du noedt til at have 3 simple date format og saa kan du enten
proeve og vcatche exception eller bruge regex til at finde den rigtige

at give brugeren mulighed for 3 formater er noget rod
Avatar billede qumle Nybegynder
08. august 2006 - 09:20 #2
ja det var også det jeg nåede frem til.
så for at spare performance ved atcatche Exceptions laver jeg f.eks et regex ala
dddddd og dddd-dd-dd
og tester så input strengen inden den parses.

hmm flere datoformater er vel meget normalt men så vil man nok lade browserens locale styre det? hov havde vist ikke sagt at det er en web applikation men det er vel ligemeget.

i dette specifikke tilfælde er problemet at brugerne gerne vil indtaste hurtigt dvs i formatet yyMMdd, men få datoer vist læsbart dvs. yyyy-MM-dd.
det betyder jo så at jeg er nødt til at kunne gemme begge formater fordi de også kan ændre på datoen senere.

jeg mindes noget om en dato klasse som kunne klare næsten alle formater men det har måske været i en tidligere version af java eller måske i mine .net dage
Avatar billede arne_v Ekspert
08. august 2006 - 14:06 #3
jeg tror ikke på noget indbygget i Java

men måsker er der nogen som har lavet en god utility klasse som du tidliger ehar brugt

.NET DateTime.Parse er fleksibel i format men det er ikke entydigt en fordel fordi
ikke alle strenge er entydige
Avatar billede arne_v Ekspert
11. september 2006 - 23:27 #4
et svar fra mig
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester