09. december 2006 - 12:28
Der er
14 kommentarer og 2 løsninger
Uge 50 er lig med d. 11/12 til 17/12
Hej, Hvordan kan man nemmest beregne at uge 50 er Mandag d. 11/12 til Søndag 17/12 ? På forhånd tak. /Leif
Annonceindlæg fra Deloitte
09. december 2006 - 13:01
#1
Et forslag: $week = 50; $start = mktime(0,0,0, 01, 01, 2006); // årstal må du jo ha' et sted fra? $max_week_sec = (($week*604800)+$start); $min_week_sec = ($max_week_sec-518400); echo date("d-m-Y H:i:s", $min_week_sec) ." - ". date("d-m-Y H:i:s", $max_week_sec);
09. december 2006 - 17:06
#2
Det vil ikke helt virke, da uge 1 ikke nødvendigvis starter d. 1 januar
09. december 2006 - 17:08
#3
Det har du så ret i, men så tjekker man jo hvis ugen er 52 eller 53 Altså den tid som kommer frem, der tjekkes om år stadig er det samme.
09. december 2006 - 17:21
#4
høker løsning: <?php $w = 50; $y = 2006; for($m = 1; $m <= 12; $m++) { for($d = 1; $d <= cal_days_in_month(CAL_GREGORIAN, $m, $y); $d++) { $t = mktime(0, 0, 0, $m, $d, $y); if(date("Y", $t) == $y && date("W", $t) == $w) { $ft = date("d/m/Y", $t); echo "$ft<br>"; } } } ?>
09. december 2006 - 18:21
#5
Det er jo sikkert godt, men Uge 1 af 2007 får jeg både 01/01, 02/01, 03/01, 04/01, 05/01, 06/01, 07/01 og 31/12-07 Ikke særlig fedt samt jeg faktisk kun skal bruge Mandag og Søndag, glemte jeg at skrive
09. december 2006 - 18:28
#6
<?php $w = 1; $y = 2007; for($m = 1; $m <= 12; $m++) { for($d = 1; $d <= cal_days_in_month(CAL_GREGORIAN, $m, $y); $d++) { $t = mktime(0, 0, 0, $m, $d, $y); if(date("W", $t) >= $m && date("W", $t) < $m*6 &&date("W", $t) == $w) { $ft = date("l d/m/Y", $t); echo "$ft<br>"; } } } ?>
09. december 2006 - 19:00
#7
Borset fra det, er det vel mere relevant at finde ugedage ud fra en dato, og ikke ugenr. Sidste post fra arne_v, der vil uge 1 2016 f.eks. starte med mandag d. 4. Og uge 53 slutte torsdag i 2015
09. december 2006 - 19:18
#8
I den her situation er det relevante Ugen Da der skal så fx: Åbningstiderne er i uge 50 (11/12 - 17/12)
10. december 2006 - 11:40
#9
Ellers kan du jo gøre sådan her. Den først mandag i uge 1, og ganger antallet af uger på det. <? $uge = "42"; // f.eks. uge 42 $time = time(); $start_date = mktime(0, 0, 0, 1, 1, date("Y", $time)); $start_week = date("W", $forste_dag_i_aar); while($start_week != 1) { $start_date = $start_date+86400; $start_week = date("W", $forste_dag_i_aar); } $forste_mandag_i_uge_et = $uge_den_forste_i_aar; $dato_start = $start_date+($uge*7*86400); $dato_slut = $start_date+(6*86400); $dato_start = date("d/m,Y", $dato_start); $dato_slut = date("d/m,Y", $dato_slut); print "$dato_start - $dato_slut"; ?>
10. december 2006 - 11:41
#10
Prøver lige igen: <? $uge = "42"; // f.eks. uge 42 $time = time(); $start_date = mktime(0, 0, 0, 1, 1, date("Y", $time)); $start_week = date("W", $forste_dag_i_aar); while($start_week != 1) { $start_date = $start_date+86400; $start_week = date("W", $forste_dag_i_aar); } $dato_start = $start_date+($uge*7*86400); $dato_slut = $start_date+(6*86400); $dato_start = date("d/m,Y", $dato_start); $dato_slut = date("d/m,Y", $dato_slut); print "$dato_start - $dato_slut"; ?>
12. december 2006 - 22:26
#11
intenz -> Den skriver hele tiden: som 07/01-2006 slut !
23. december 2006 - 13:18
#12
showsource -> Smid et svar
23. december 2006 - 16:21
#13
ehh, kan jeg da godt, men din endelige løsning vil jeg, ( vi ), da gerne se!
23. december 2006 - 16:21
#14
hov
23. december 2006 - 16:44
#15
Lige nu er det faktisk bare den som bruges, da jeg ikke kan gå intenz til at skrive de rigtige datoer !
02. januar 2007 - 22:09
#16
Faldt lige over den her tråd igen, og fik fyret op under min localhost. Så nu virker den: <? $uge = "42"; // f.eks. uge 42 $time = time(); $start_date = mktime(0, 0, 0, 1, 1, date("Y", $time)); $start_week = date("W", $start_date); while($start_week != 1) { $start_date = $start_date+86400; $start_week = date("W", $start_date); } $dato_start = $start_date+(($uge-1)*7*86400); $dato_slut = $dato_start+(6*86400); $dato_start = date("d/m-Y", $dato_start); $dato_slut = date("d/m-Y", $dato_slut); print "$dato_start - $dato_slut"; ?>
Vi tilbyder markedets bedste kurser inden for webudvikling