/ 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
dato før år 1900
Fra : Arne Feldborg


Dato : 24-06-03 23:35


Hejsa..

Jeg har i en bestemt anledning brug for at konvertere en lang række
ældre datoer til et heltal (feks. antal dage fra vor tidsregnings
begyndelse eller lign.).

Såvidt jeg kan se kan hverken date(), strtotime(), mktime(), eller andre
PHP funktioner klare det.

Hvilke andre muligheder findes der.?


--
mvh, A:\Feldborg

Folketælllinger Hammerum og Bøling herreder, kirkebøger Hammerum herred
http://www.haunstrup.dk/feldborg/genealogi/download/

 
 
Peter Brodersen (25-06-2003)
Kommentar
Fra : Peter Brodersen


Dato : 25-06-03 00:13

On Wed, 25 Jun 2003 00:35:08 +0200, Arne Feldborg
<feldborg@haunstrup.dk> wrote:

>Hvilke andre muligheder findes der.?

Mcal-extensionen:
http://dk.php.net/manual/en/ref.mcal.php

Evt. også calendar-extensionen, men den har jeg ikke prøvet at
installere:
http://dk.php.net/manual/en/ref.calendar.php

--
- Peter Brodersen

Arne Feldborg (26-06-2003)
Kommentar
Fra : Arne Feldborg


Dato : 26-06-03 08:09

Peter Brodersen <usenet@ter.dk> skrev Wed, 25 Jun 2003 01:13:09 +0200


>Mcal-extensionen:
>http://dk.php.net/manual/en/ref.mcal.php
>
Kræver tilsyneladende en recompilering, og det er nok ikke lige min kop
te.

>Evt. også calendar-extensionen, men den har jeg ikke prøvet at
>installere:
>http://dk.php.net/manual/en/ref.calendar.php
>
Er umiddelbart til rådighed i Windowsversionen. Og igen kan jeg kun
sige tak til. Det var lige det jeg havde brug for.

Men der er en lille hage ved historien.
Jeg bruger funktionen: $days = GregorianToJD($mm, $dd, $yyyy);

Og det funker også fint nok, men den kræver $mm som et tal "05,15,1900"
mens jeg har det i formen "15 May 1900"

Jeg bruger så:

$birth = '15 May 1900';
$dd = substr($birth, 0, 2);
$mm = substr($birth, 3, 3);
$yyyy = substr($birth, 7, 4);
$months = array(Jan =>1 , Feb =>2 , Mar =>3 , Apr =>4 , May =>5, Jun
=>6, Jul =>7 , Aug =>8, Sep =>9 , Oct =>10 , Nov =>11 , Dec =>12 );
$mm = $months[$mm];
$days = GregorianToJD($mm, $dd, $yyyy);
echo $days;

Og det er jo sådan set også fint nok.
Men jeg undrer mig over om der ikke findes en mere elegant måde på at
omsætte "15 May 1900" til "05,15,1900".?



--
mvh, A:\Feldborg

Folketælllinger Hammerum og Bøling herreder, kirkebøger Hammerum herred
http://www.haunstrup.dk/feldborg/genealogi/download/

Martin Sveegaard (26-06-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 26-06-03 16:01

On Thu, 26 Jun 2003 09:09:14 +0200, Arne Feldborg
<feldborg@haunstrup.dk> wrote:

>$birth = '15 May 1900';
>$dd = substr($birth, 0, 2);
>$mm = substr($birth, 3, 3);
>$yyyy = substr($birth, 7, 4);
>$months = array(Jan =>1 , Feb =>2 , Mar =>3 , Apr =>4 , May =>5, Jun
>=>6, Jul =>7 , Aug =>8, Sep =>9 , Oct =>10 , Nov =>11 , Dec =>12 );
>$mm = $months[$mm];
>$days = GregorianToJD($mm, $dd, $yyyy);
>echo $days;
>
>Og det er jo sådan set også fint nok.
>Men jeg undrer mig over om der ikke findes en mere elegant måde på at
>omsætte "15 May 1900" til "05,15,1900".?

Du kan måske bruge:
$d = "15 May 1900";
$t = date('d m ',strtotime(substr($d,0,6))) . substr($d,7,4);
MVH Martin S

Martin Sveegaard (26-06-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 26-06-03 16:23

On Thu, 26 Jun 2003 17:01:11 +0200, Martin Sveegaard
<sveegaard@tdcadslFJERN:DETTE.dk> wrote:

>Du kan måske bruge:
>$d = "15 May 1900";
>$t = date('d m ',strtotime(substr($d,0,6))) . substr($d,7,4);

Ellers, hvis der er forskel på antal tegn i måneden:
$d = "15 May 1900";
$a = split(" ",$d);
$dato = date('d m ',strtotime($a[0] . " " . $a[1])) . $a[2];
MVH Martin S

Arne Feldborg (27-06-2003)
Kommentar
Fra : Arne Feldborg


Dato : 27-06-03 00:05

Martin Sveegaard <sveegaard@tdcadslFJERN:DETTE.dk> skrev Thu, 26 Jun
2003 17:22:44 +0200

>>Du kan måske bruge:
>>$d = "15 May 1900";
>>$t = date('d m ',strtotime(substr($d,0,6))) . substr($d,7,4);
>
>Ellers, hvis der er forskel på antal tegn i måneden:
>$d = "15 May 1900";
>$a = split(" ",$d);
>$dato = date('d m ',strtotime($a[0] . " " . $a[1])) . $a[2];
>MVH Martin S
>
Begge forslag kan nok komme i betragtning.

Det undrer mig bare, at PHP ikke har en funktion der direkte kan
konvertere et hvilket som helst datoformat til antal dage siden vor
tidsregnings begyndelse.

Men hvorom alting er - jeg fik mit problem løst. Tak for hjælpen.


--
mvh, A:\Feldborg

Folketælllinger Hammerum og Bøling herreder, kirkebøger Hammerum herred
http://www.haunstrup.dk/feldborg/genealogi/download/

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste