Avatar billede korup Nybegynder
29. april 2001 - 10:11 Der er 8 kommentarer og
1 løsning

Dato format..

Jeg skal bruge en class der kan oprette en String med dato i et format der skal se sådanne ud: eks 280401 altså dato/månede/år på 6 cifre!!
Er der nogen der kunne hjælpe med det!!

Hilsen

Allan
Avatar billede halfblind Nybegynder
29. april 2001 - 10:14 #1
skal det være dagens dato eller?
Avatar billede korup Nybegynder
29. april 2001 - 10:15 #2
JA der skal være dagens dato..

Avatar billede birkis Nybegynder
29. april 2001 - 10:58 #3
En muligher _kan_ være:

import java.util.*;

public class DatoTest {
    public static void main (String args[]) {
        GregorianCalendar calendar = new GregorianCalendar();
       
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        int month = calendar.get(Calendar.MONTH);
        String year = \"\" + calendar.get(Calendar.YEAR);
       
        if (month < 10)
            System.out.println(day + \"0\" + month + year.substring(2));
        else
            System.out.println(day + month + year.substring(2));
    }

}
Avatar billede birkis Nybegynder
29. april 2001 - 11:00 #4
muligher = mulighet...

:)
Avatar billede birkis Nybegynder
29. april 2001 - 11:07 #5
Dersom det er meget viktig at det hele er en String kan det gjøres som:

import java.util.*;

public class DatoTest {
    public static void main (String args[]) {
        GregorianCalendar calendar = new GregorianCalendar();
       
        String day = \"\" + calendar.get(Calendar.DAY_OF_MONTH);
        String month = \"\";
        int tempMonth = calendar.get(Calendar.MONTH);
        if (tempMonth < 10)
            month = \"0\" + tempMonth;
        else
            month = \"\" + tempMonth;
        String year = \"\" + calendar.get(Calendar.YEAR);

        System.out.println(day + month + year.substring(2));
    }

}
Avatar billede korup Nybegynder
29. april 2001 - 14:06 #6
Hej jeg har prøvet dine foreslag jeg synes de er rigtig gode, men når jeg køre dem siger de at det i dag er 290301, og efter hvad jeg ved er det ikke 03 (marts)? Ved du hvorfor den gør det? Min dato på maskinen er sat rigtigt!

Hilsen Allan
Avatar billede birkis Nybegynder
29. april 2001 - 15:03 #7
Haha...  Den så jeg faktisk ikke da jeg testet...  Litt pinlig.

Det skyldes at januar = 0, februar = 1.... og desember = 11.

Problemet klares med:

int tempMonth = calendar.get(Calendar.MONTH) +1;
Avatar billede logical Nybegynder
29. april 2001 - 21:11 #8
Brug en java.text.SimpelDateFormat instans, a.la.

SimpleDateFormat formatter = new SimpleDateFormat(\"ddMMyy\"); // Se mulighederne i  JavaDoc for java.text.SimpleDateFormat klassen
System.out.println(formatter.format(new Date()));

Kan også bruges til at parse Strings til Date\'s

try {
  Date d = formatter.parse(\"010101\");
} catch (ParseException pe) { // error in parse }
Avatar billede thomas_yde Nybegynder
01. oktober 2002 - 15:13 #9
Hvis nogen var interesseret i at se min lille slam-kode så poster jeg den:

/*
*@auther Thomas W. Yde
*/
import java.util.*;
import java.io.*;
import java.net.*;
public class Log
{
   
    public Log(){}
   
    public void makeLog(Exception newException)
    {
        try
        {
            String logDir;
            java.util.Date d = new java.util.Date();
            System.out.println(d.toGMTString()+"\n");
            File logDirTest = new File("Logs\\");
            if(logDirTest.isDirectory())
            {
                logDir = "Logs\\";
            }
            else
            {
                logDir="Logs/";
            }
            java.util.GregorianCalendar calendar = new java.util.GregorianCalendar();
           
            int day = calendar.get(Calendar.DAY_OF_MONTH);
            int month = calendar.get(Calendar.MONTH) + 1;
            String year = "" + calendar.get(Calendar.YEAR);
            String dateStamp = " "+day+"-" + month +"-"+ year +" ";
           
            int hour = calendar.get(Calendar.HOUR) + 1;
            int minutes = calendar.get(Calendar.MINUTE);
            int seconds = calendar.get(Calendar.SECOND);
            String timeStamp = ""+hour+":"+minutes+":"+seconds;
           
            File fil = new File(logDir + "log -"+dateStamp+".txt");

            PrintWriter writer;
            FileWriter fileWriter = new FileWriter(fil, true);
            writer = new PrintWriter(fileWriter, true);
            writer.println();
            writer.println("<-- Exeception fanget kl. "+timeStamp+" -->");
            writer.println(newException.getMessage());
        }
        catch(Exception e)
        {
            System.err.print(e.getMessage());
        }
    }
}
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