Avatar billede aslan Nybegynder
09. juli 2002 - 17:00 Der er 5 kommentarer og
1 løsning

Checke bruger input...

Jeg skal have checket at en bruger ikke taster en  gammel dato ind.Indtastningen er i formatet dd-MM-yyyy og string, jeg har forsøgt mig således :

boolean(String start)
{
SimpleDateFormat dFormat=new SimpleDateFormat("dd-MM-yyyy");
dFormat.setLenient(false);
Date datoStart=dFormat.parse(start);
java.util.Date today = new java.util.Date();


if(datoStart.before(datoSlut)) return true;
else return false;
}


problemet er at bruger input bliver til :
Tue jul 09 00:00:00 cest 2002 som er forkert da det er midnat hele tiden og today bliver til:
Tue jul 09 13:27:45 cest 2002 dvs. før midnat hele tiden så metoden ovenover bliver false ligemeget hvad. Kan nogen støtte mig i dette?

Avatar billede aslan Nybegynder
09. juli 2002 - 17:07 #1
lille skrive fejl..

if(datoStart.before(today)) return true;
Avatar billede jakoba Nybegynder
09. juli 2002 - 17:15 #2
hvad betyder:
    boolean(String start)
    {
skulle der ikke være et navn til metoden der et sted?
Avatar billede aslan Nybegynder
09. juli 2002 - 19:32 #3
jo selvfølgelig endnu en skrivefejl, der skal bare stå :

boolean check(String start)
Avatar billede lbhansen Nybegynder
10. juli 2002 - 12:51 #4
du kan oprette dags dato på følgende måde:
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(new Date());
gc.set(Calendar.HOUR_OF_DAY,0);
gc.set(Calendar.MINUTE,0);
gc.set(Calendar.SECOND,0);
System.out.println(gc.getTime());

Så ser dags dato sådan her ud:
Wed Jul 10 00:00:00 CEST 2002
Avatar billede aslan Nybegynder
10. juli 2002 - 13:59 #5
Ja lbhansen det kan du også med java.util.Date today = new java.util.Date(); men nu er problemet at det er en bruger der taster en tid ind som er i formatet dd-MM-yyyy som forklaret ovenover...
Avatar billede aslan Nybegynder
10. juli 2002 - 14:24 #6
public boolean checkDatoer2(String start,String slut)
    {
        try
        {
            SimpleDateFormat dFormat=new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
            dFormat.setLenient(false);
            java.util.Date datoStart=dFormat.parse(start+" 23:59:59");
            java.util.Date datoSlut=dFormat.parse(slut+" 23:59:59");

            java.util.Date today = new java.util.Date();

            if(datoStart.before(today) || datoSlut.before(today))
                return true;
        }
        catch(ParseException e){System.out.println(e);}


        return false;
    }
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