Avatar billede khoukjaer Nybegynder
28. november 2001 - 08:39 Der er 4 kommentarer og
1 løsning

datediff

Jeg vil gerne kunne ligge en fra og en til dato i et array og så få differencen imellem datoerne.
Hvordan gøres det.
Avatar billede khoukjaer Nybegynder
28. november 2001 - 08:41 #1
Tilføjelse :
fra : formatet er ex. 04-10-2001

differencen skal selvfølgelig være ex.
10-07-2001 til 13-07-2001  differencen er = 3
Avatar billede jakoba Nybegynder
28. november 2001 - 12:37 #2
<script type=\'text/javascript\'>

function lavStandardDato( dstreng ) { // inputformat \'dd-mm-yyyy\'
    var aar    = parseInt( dstreng.substr(6,4), 10 );
    var maaned = parseInt( dstreng.substr(3,2), 10 ) -1;
    var dag    = parseInt( dstreng.substr(0,2), 10 );
    return new Date( aar, maaned, dag );
}; //end lavStandardDato( string ) -> date object

var eenDag = 24*60*60*1000;  // antal millisekunder i een dag.

function dageImellem( dstreng1, dstreng2 ) { // inputformat \'dd-mm-yyyy\'
    var dato1 = lavStandardDato( dstreng1 );
    var dato2 = lavStandardDato( dstreng2 );
    var msForskel = dato1.valueOf() - dato2.valueOf();
    return  Math.round( msforskel / eenDag );
}; //end dageImellem( string, string ) -> number

// nu kan du kalde funktionen dageImellem og få forskellen retur:

var datoer = new Array();
datoer[0) = \"13-07-2001\";
datoer[1] = \"10-07-2001\";
alert( \"forskel i dage er \" +dageImellem( datoer[0], datoer[1] ) );

</script>

mvh JakobA
Avatar billede khoukjaer Nybegynder
28. november 2001 - 20:16 #3
Det skal være i java, dataen kommer fra en database.
Men ellers tak.
Avatar billede logical Nybegynder
30. november 2001 - 09:52 #4
public int getDiff(String date1, String date2) throws ParseException {
  SimpleDateFormat df = new SimpleDateFormat(\"dd-MM-yyyy\");
  Date d1 = df.parse(date1);
  Date d2 = df.parse(date2);
  return getDiff(d1, d2);
}

private int getDiff(Date date1, Date date2) {
  if (date2.before(date1))
    return getDiff(date2, date1);

  Calendar c = new GregorianCalendar(new Locale(\"da\", \"DK\"));
  c.setTime(date1);
  int result = 0;
  while(c.getTime().before(date2)) {
    result++;
    c.add(Calendar.DAY, 1);
  }
 
}

Det er taget ud af hovedet, og der er plads til forbedringer :-)
Avatar billede khoukjaer Nybegynder
07. december 2001 - 08:21 #5
Tak
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