Avatar billede andersj Nybegynder
30. juli 2002 - 15:33 Der er 6 kommentarer og
1 løsning

Convert Date????

Hej, hvordan converter jeg

Date Date = new Date();

Til dansk???
Avatar billede r9 Nybegynder
30. juli 2002 - 15:41 #1
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
public static void main(String[] args) {


    SimpleDateFormat sfDate = new SimpleDateFormat("dd-MM-yyyy");
    System.out.println(sfDate.format(new Date()));
}
}
Avatar billede andersj Nybegynder
30. juli 2002 - 15:44 #2
Har den her nu : Tue Jul 30 00:00:00 CEST 2002
Vil gerne ha den på dansk....
Avatar billede r9 Nybegynder
30. juli 2002 - 15:46 #3
ja, hvilke format vil du have?

dd-MM-yyyy ?
yyyy-mm-dd?
Avatar billede r9 Nybegynder
30. juli 2002 - 15:48 #4
dette:

SimpleDateFormat sfDate = new SimpleDateFormat("dd-MM-yyyy");
    SimpleDateFormat sfTime = new SimpleDateFormat("HH:mm:ss");
    SimpleDateFormat sfDateTime = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
    SimpleDateFormat sfDbDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    System.out.println(sfDate.format(new Date()));
    System.out.println(sfTime.format(new Date()));
    System.out.println(sfDateTime.format(new Date()));
    System.out.println(sfDbDateTime.format(new Date()));



giver dette:
30-07-2002
15:48:04
30-07-2002 15:48:04
2002-07-30 15:48:04




Så kan du vælge hvad der passer dig bedst.
Avatar billede andersj Nybegynder
30. juli 2002 - 15:54 #5
thx
Avatar billede r9 Nybegynder
30. juli 2002 - 15:56 #6
takker for point
Avatar billede bearhugx Nybegynder
30. juli 2002 - 17:59 #7
Som man kan se i r9's indlæg, så er der mange muligheder for at komme med et "dansk" output til denne dato... Jeg vil dog foreslå, at man simpethen bruger den vedtagne danske konvention for at skrive dato og tidspunkt...

Og dette kan man klare, helt uden at skulle gætte sig til, om formatet nu er yyyy-MM-dd, dd/MM-yyyy eller dd. MM yyyy.

Java har indbygget disse konventioner, i forbindelse med Locale-klassen. Her er et eksempel på, hvordan man nemt kan arbejde med locales...

import java.util.*;
import java.text.*;

class DateLocaleTest {
    public static void main(String[] args) {
        Date today = new Date();
        System.out.println(today);
       
        Locale danmark = new Locale("da");
        Locale frankrig = new Locale("fr");

        DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, danmark);
        System.out.println(df.format(today));

        df = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, frankrig);
        System.out.println(df.format(today));
    }
}

outputtet bliver så...
Tue Jul 30 17:54:34 CEST 2002 <-- amerikanske version (standard)
30. juli 2002 17:54:34 CEST  <-- danske version
30 juillet 2002 17:54:34 CEST <-- franske version

Der findes også SHORT, MEDIUM, LONG og FULL udgaver -men der henviser jeg til at man læser API'en for DateFormat

Så hvis du vil følge konventionerne - og ikke skal til at finde på egne "formater", så anbefaler jeg at bruge Locale-klassen

/Søren Munk Skrøder
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