Avatar billede t_mons Nybegynder
03. oktober 2003 - 13:53 Der er 4 kommentarer og
1 løsning

Hent en dag udfra en periode

Hey

jeg ville bare høre om der var nogle der kunne give mig opskriften på, hvordan jeg får en dato (2003-02-17) udfra en periode der skal se således ud yyyy-ww (2003-14)

og hvad med uge 1 der sagtens kan have datoen (2003-12-30)

:o)

lidt forvirrende måske ..
Avatar billede bearhugx Nybegynder
03. oktober 2003 - 14:45 #1
ww er det ugenummeret ?
Avatar billede bearhugx Nybegynder
03. oktober 2003 - 15:10 #2
import java.util.*;

public class C {
  public static void main(String args[]) {
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.YEAR, 2003);                                        // sæt årstal til 2003
    cal.set(Calendar.WEEK_OF_YEAR, 14);                            // sæt ugenummer til 14
    cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);    // find første dag i ugen
    Date t = cal.getTime();                                                    // bemærk - cal bliver ikke udregnet før kald til getTime() eller getTimeInMillis()
    System.out.println(t);                                                    // -udskriv - i dette tilfælde 30. Marts
  }   
}


og det virker også med UGE=1 --> 30. dec. 2002
Avatar billede arne_v Ekspert
03. oktober 2003 - 16:50 #3
Formentligt er Bearhugx's svar det du har brug for.

Men just in case du har andet behov, så er her et alternativ:

import java.text.*;

public class FindWeek {
    private static final DateFormat df1 = new SimpleDateFormat("yyyy-ww");
    private static final DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd");
    public static String week2date(String week) throws ParseException {
        return df2.format(df1.parse(week));
    }
    public static void main(String[] args) throws Exception {
        System.out.println(week2date("2003-14"));
        System.out.println(week2date("2003-1"));
    }
}
Avatar billede t_mons Nybegynder
03. oktober 2003 - 19:47 #4
Jeg vil give point til bearhugx, da det virkede fint, til dels da, hvis nu jeg gerne vil have tal istedet for navn på mdr. altså formatet 2003-12-30 som en streng..... :o)

sorry Arne_v
Avatar billede arne_v Ekspert
05. oktober 2003 - 19:15 #5
Så skal du jo nok låne lidt fra mit forslag.

df2.format(t)
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