/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Ugenummer ?
Fra : Jesper Hansen


Dato : 25-08-03 13:31

Hejsa.

Nogen der kan forlklare hvorfor dette ikke giver det rigtige
ugenummer:

$unixtimestamp = strtotime(date('Ymd'));
$ugenr = strftime("%W", $unixtimestamp);
echo "$ugenr";

Burde skrive uge 35, men det bliver kun til 34

Med venlig hilsen
Jesper Hansen

 
 
Casper Mønster (25-08-2003)
Kommentar
Fra : Casper Mønster


Dato : 25-08-03 13:53



> $unixtimestamp = strtotime(date('Ymd'));
> $ugenr = strftime("%W", $unixtimestamp);
> echo "$ugenr";
>
> Burde skrive uge 35, men det bliver kun til 34
>

Er det ikke noget med at i USA, bruger de ikke samme ugenummer som i EU i
år. Det har jeg hørt noget om.


/Casper



Flemming Joensson (25-08-2003)
Kommentar
Fra : Flemming Joensson


Dato : 25-08-03 15:24

Jesper Hansen <sebulba_@mailme.dk> wrote in
news:140kkvcpjg4k207hlf1o5a32bbhe2ngame@4ax.com:

> Hejsa.
>
> Nogen der kan forlklare hvorfor dette ikke giver det rigtige
> ugenummer:
>
> $unixtimestamp = strtotime(date('Ymd'));
> $ugenr = strftime("%W", $unixtimestamp);
> echo "$ugenr";
>
> Burde skrive uge 35, men det bliver kun til 34

Nej ovenstående burde skrive 34, men strftime("%V", $unixtimestamp); burde
skrive 35, da den overholder ISO 8601:1988.

%W tæller bare fra den første mandag i året, som man vist nok gør i USA. %V
anvender samme tællemåde som i Danmark.

Mvh.
Flemming

Jesper Hansen (25-08-2003)
Kommentar
Fra : Jesper Hansen


Dato : 25-08-03 15:42

On Mon, 25 Aug 2003 14:24:08 +0000 (UTC), Flemming Joensson
<flemming@fjerndette.joensson.org> wrote:


>Nej ovenstående burde skrive 34, men strftime("%V", $unixtimestamp); burde
>skrive 35, da den overholder ISO 8601:1988.

Jo - mange tak

Med venlig hilsen
Jesper Hansen

Martin Sveegaard (25-08-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 25-08-03 17:04

On Mon, 25 Aug 2003 16:41:36 +0200, Jesper Hansen <sebulba_@mailme.dk>
wrote:

>>Nej ovenstående burde skrive 34, men strftime("%V", $unixtimestamp); burde
>>skrive 35, da den overholder ISO 8601:1988.
>
>Jo - mange tak

Det skal lige siges at '%V' ikke virker på windows. Her er en
workarround, der skulle virke på de fleste systemer:

<?php
echo ISOWeek(2003, 8, 25);

function ISOWeek($y, $m, $d)
{
$week=strftime("%W", mktime(0, 0, 0, $m, $d, $y));
$dow0101=getdate(mktime(0, 0, 0, 1, 1, $y));
$next0101=getdate(mktime(0, 0, 0, 1, 1, $y+1));

if ($dow0101["wday"]>1 &&
$dow0101["wday"]<5)
$week++;
if ($next0101["wday"]>1 &&
$next0101["wday"]<5 &&
$week==53)
$week=1;
if ($week==0)
$week = ISOWeek($y-1,12,31);
return(substr("00" . $week, -2));
}
?>
--
Med Venlig Hilsen
c",) Martin S

Flemming Joensson (25-08-2003)
Kommentar
Fra : Flemming Joensson


Dato : 25-08-03 22:02

Martin Sveegaard <sveegaard@tdcadslFJERNDETTE.dk> wrote in
news:oockkv0u9c9lhk9sgvslmttnth843u1abs@4ax.com:

> Det skal lige siges at '%V' ikke virker på windows. Her er en
> workarround, der skulle virke på de fleste systemer:
>

Eller alternativt date("W", $timestamp) - den virker på begge platforme.

Flemming

Kai Birger Nielsen (29-08-2003)
Kommentar
Fra : Kai Birger Nielsen


Dato : 29-08-03 08:15

In <Xns93E2EA4E28DEAflemmingfjerndettejo@130.225.247.90> Flemming Joensson <flemming@fjerndette.joensson.org> writes:

>Martin Sveegaard <sveegaard@tdcadslFJERNDETTE.dk> wrote in
>news:oockkv0u9c9lhk9sgvslmttnth843u1abs@4ax.com:

>> Det skal lige siges at '%V' ikke virker på windows. Her er en
>> workarround, der skulle virke på de fleste systemer:
>>

>Eller alternativt date("W", $timestamp) - den virker på begge platforme.

>Flemming

Ak og ve. %V det ene sted og W det andet.. Men tak for tippet,
jeg kendte ikke "W" formatet til date.

Må jeg forresten foreslå at man sætter årstal på ? Ellers kan
man i nogle år have en uge 1 i starten af året og en uge 1 i
slutningen af året og der kan tænkes situationer, hvor det
ikke er smart, fx at de sidste bilag fra året kommer til at
overskrive de første. Så hellere en uge 2003-1 og en uge 2004-1.

mvh Birger Nielsen (bnielsen@daimi.au.dk)

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408935
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste