Avatar billede martin_schou Nybegynder
05. november 2001 - 14:09 Der er 6 kommentarer og
2 løsninger

problem mht datofomatering

Jeg har et problem mht datoformatering, når jeg flytter mit program til computere med andre internationale indstillinger (DD/MM/ÅÅÅÅ vs MM/DD/ÅÅÅÅ), hvilket desvære medfører, at hovedparten af de data, jeg flytter rundt med, bliver blandet godt og grundigt - f.eks. er temperaturmålinger fra den 1. juli ikke specielt heldige at få placeret den 7. januar.

Er der en måde at få java til at fortælle databaser, hvordan data (her tænker jeg udelukkende på datoer) skal tolkes? Kan jeg evt (på en eller anden måde) fodre db\'er med datoer i formatet \"01 jul 2001\"?

Løsningen behøver ikke være specielt køn, bare den virker - det skal alligevel bruges i et stort makværk.
Avatar billede lyhr007 Nybegynder
05. november 2001 - 14:14 #1
http://java.sun.com/products/jdk/1.1/docs/api/java.util.Date.html

Den har flere constructors.

Du skriver ikke hvilken database du bruger og hvilken type date/timestamp, men prøv at se om der ikke er en contructor som passer til dine data.
Avatar billede lyhr007 Nybegynder
05. november 2001 - 14:17 #2
hmm...havde ikke læst dit spg. ordenligt ;)

prøv:

http://java.sun.com/products/jdk/1.1/docs/api/java.text.DateFormat.html#_top_

når du henter dine dato ud kan du angive local, så skal du bare beslutte dig for hvilken local du vil sortere efter. Grafisk (eller hvordan det nu skal vises), bør du bruge den user local for client maskinen.
Avatar billede martin_schou Nybegynder
05. november 2001 - 14:21 #3
Det skal ikke vises nogle steder - der skal bare flyttes data fra een database til en anden (nej - du VIL ikke vide det)

Kigger lige på link-teksten. I øvrigt bør du nok opdatere din doc til version 1.3 ...
Avatar billede disky Nybegynder
05. november 2001 - 14:21 #4
inden du henter og skriver i basen, konverter via SimpleDataFormater.

Den er din løsning.
Avatar billede martin_schou Nybegynder
05. november 2001 - 14:24 #5
Umiddelbart ser det ikke ud til, at DateFormat kan bruges. Den dato jeg har, er ikke hevet ud som en dato, men blot som en tekststreng (det vil du heller ikke vide hvorfor - eet ord: makværk).

I dette tilfælde, skal data sættes ind i en Access 2k database - hvis det skulle hjælpe på nogen måde.
Avatar billede disky Nybegynder
05. november 2001 - 14:28 #6
Den kan godt bruges,

kig her:

// Format the current time.
SimpleDateFormat formatter
    = new SimpleDateFormat (\"yyyy.MM.dd G \'at\' hh:mm:ss a zzz\");
Date currentTime_1 = new Date();
String dateString = formatter.format(currentTime_1);

// Parse the previous string back into a Date.
ParsePosition pos = new ParsePosition(0);
Date currentTime_2 = formatter.parse(dateString, pos


Du konverterer altså den text streng til en Date via SimpleDateFormatter, og derfra igen via SimpleDateFormatter til et nyt textformat.
Avatar billede martin_schou Nybegynder
05. november 2001 - 15:02 #7
til pis ... det bliver jo noget af en omvej ... hehe ... oh well, jeg sagde jo, at det ikke behøvede at være kønt.
Avatar billede disky Nybegynder
05. november 2001 - 15:03 #8
det er korrekt, men det virker, har løst tilsvarende problem på samme måde.

Tak for point
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