/ 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
Alder
Fra : Lasse Madsen


Dato : 01-08-04 15:20

Kan man lave et PHP-script, der regner sin alder ud, for umiddelbart kan jeg
ikke lige se det?
Hvis der er, hvor kan man så finde det?



 
 
Julius Madsen (01-08-2004)
Kommentar
Fra : Julius Madsen


Dato : 01-08-04 15:33

Lasse Madsen wrote:
> Kan man lave et PHP-script, der regner sin alder ud, for umiddelbart kan jeg
> ikke lige se det?
> Hvis der er, hvor kan man så finde det?
regner hvis alder ud? scriptets :)?
prøv og tag et kig på filemtime().. Det returnerer tidspunktet på sidste
gang den angivne fil er blevet ændret.
lav noget i stil med.

<?php
$oprettelse=filemtime("script.php");
$timestampalder=time()-$oprettelse;
$timer=date("H",$timestampalder)-1;
$minutter=date("i",$timestampalder);
$sekunder=date("s",$timestampalder);
echo "Scriptet har været oprettet i $timer antal timer, $minutter antal
minutter og $sekunder antal sekunder";
?>

utestet though :)

"alderen" bliver genstartet hver gang du opdaterer scriptet.

Mvh. Julius

Julius Madsen (01-08-2004)
Kommentar
Fra : Julius Madsen


Dato : 01-08-04 15:42

> <?php
> $oprettelse=filemtime("script.php");
> $timestampalder=time()-$oprettelse;
> $timer=date("H",$timestampalder)-1;
> $minutter=date("i",$timestampalder);
> $sekunder=date("s",$timestampalder);
> echo "Scriptet har været oprettet i $timer antal timer, $minutter antal
> minutter og $sekunder antal sekunder";
> ?>
hov, jeg var da vist lige lidt fr hurtig!
Du skal selvfølgelig ikke bruge date til at formattere dine timestamps
til læselige formater, da dette fucker op så snart scriptet er ældre end
24 timer!

Du skal lave scriptet sådan her:

<?php
$oprettelse=filemtime("testscript.php");
$timestampalder=time()-$oprettelse;
$timer=floor($timestampalder/3600);
$overskud=$timestampalder%3600;
$minutter=floor($overskud/60);
$sekunder=$overskud%60;
echo "Scriptet har været oprettet i $timer antal timer, $minutter antal
minutter og $sekunder antal sekunder";
?>

mvh. Julius


Julius Madsen (01-08-2004)
Kommentar
Fra : Julius Madsen


Dato : 01-08-04 16:07

> Kan man lave et PHP-script, der regner sin alder ud, for umiddelbart kan jeg
> ikke lige se det?
> Hvis der er, hvor kan man så finde det?

Du har svaret mig på min mail, ikke i nyhedsgruppen. Men kan da fortælle
andre kiggere, at man skal indtaste sin fødselsdato, og så skal den
regne ens alder ud.

Men til spørgsmålet..
Til dette formål kan du bruge mktime()

her er argumenterne til mktime: mktime(time,minut,sekund,måned,dag,år);

et lille eksempel:

$timestamp=mktime(0,0,0,7,3,1988);

så er $timestamp antal sekunder fra 1./.1-1970 (unix epoc) til den 3.
juli 1988.
Bemærk at jeg har sat time, minut og sekund til 0 da disse normalt ikke
spiller nogen rolle når vi snakker fødselsdato :)

Så laver du lige:

$levetid=time()-$timestamp;

så er $levetid det antal sekunder du har levet..

Så kan du bruge samme metode med / og % (modulus) som jeg brugte i det
første script jeg lavede til at regne din alder ud i timer osv. bare
husk på at $levetid indeholder antal sekunder fra 1. januar 1970 til det
tidspunkt du har angivet i mktime();

mvh. Julius

Julius Madsen (01-08-2004)
Kommentar
Fra : Julius Madsen


Dato : 01-08-04 16:09

> bare husk på at $levetid indeholder antal sekunder fra 1. januar 1970 til det
....jeg skal vist snart puttesove!
$levetid indeholder selvfølgelig antal sekunder fra fødselsdato --> nu,
altså hvor mange sekunder man har levet =)

Arne Feldborg (02-08-2004)
Kommentar
Fra : Arne Feldborg


Dato : 02-08-04 00:19

Julius Madsen <Julius@bubblemedia.dk> skrev Sun, 01 Aug 2004 17:08:44
+0200


>$levetid indeholder selvfølgelig antal sekunder fra fødselsdato --> nu,
>altså hvor mange sekunder man har levet =)
>
Ja, forudsat man er født efter 1970 og ->nu er før 2038.?


--
mvh, A:\Feldborg

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

Arne Feldborg (02-08-2004)
Kommentar
Fra : Arne Feldborg


Dato : 02-08-04 00:19

"Lasse Madsen" <lass1987@hotmail.com> skrev Sun, 1 Aug 2004 16:20:15
+0200

>Kan man lave et PHP-script, der regner sin alder ud, for umiddelbart kan jeg
>ikke lige se det?
>Hvis der er, hvor kan man så finde det?
>
Det du har brug for er at beregne antallet af dage fra din fødsel og
frem til nu - og derefter dele det op i år og dage.

Det du skal gøre er altså at finde antallet af dage fra Kristi fødsel og
frem til nu - og tilsvarende antallet af dage fra Kristi fødsel og frem
til din egen fødsel.

For at finde antallet af dage bruger du enten GregorianToJD() eller
JulianToJD().

De to tal trækker du så fra hinanden og deler med 365 (=år) og finder
yderligere den rest der bliver (=dage). Hvis det skal være præcist skal
du naturligvis også tage højde for hvor mange skudår der er i perioden.


--
mvh, A:\Feldborg

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

Thomas Finnerup (02-08-2004)
Kommentar
Fra : Thomas Finnerup


Dato : 02-08-04 17:08

On Sun, 1 Aug 2004 16:20:15 +0200, "Lasse Madsen"
<lass1987@hotmail.com> wrote:

> Kan man lave et PHP-script, der regner sin alder ud, for umiddelbart kan jeg
> ikke lige se det?

Hvis du har fødselsdatoen i formatet åååå-mm-dd, kan du bruge dette:

list($Aar, $MaanedDag) = explode("-", $Foedselsdato, 2);

$Alder = date("Y") - $Aar;

if (date("m-d") < $MaanedDag)
$Alder--;


Venligst
Thomas

Kasper Johansen (02-08-2004)
Kommentar
Fra : Kasper Johansen


Dato : 02-08-04 18:25

"Lasse Madsen" <lass1987@hotmail.com> skrev i en meddelelse
news:410cfc21$0$35882$14726298@news.sunsite.dk...
> Kan man lave et PHP-script, der regner sin alder ud, for umiddelbart kan
jeg
> ikke lige se det?
> Hvis der er, hvor kan man så finde det?

Ved en community-side lavede jeg et script til det beskrevne formål. Jeg
regner med at du mener at du har en dato hvornår man er født (vel og mærke
som et unix timestamp).

Du kan se lidt på scriptet, har ikke tid til at forklare. Men jeg skulle
mene det burde være ret simpelt Også lang tid siden det er skrevet.

$in_birth = date("Y", $userdata[birthday]);
$in_now = date("Y");

$in_birthmonth = date("m", $userdata[birthday]);
$in_nowmonth = date("m");

if ($in_birthmonth > $in_nowmonth){
$in_addi = -1;
}elseif($in_birthmonth == $in_nowmonth){
$in_birthdate = date("d", $userdata[birthday]);
$in_nowdate = date("d");

if ($in_birthdate > $in_nowdate){
$in_addi = -1;
}
}

$in_agetime = ($in_now - $in_birth) + $in_addi;


Mvh
Kasper Johansen



Thomas Rokamp (03-08-2004)
Kommentar
Fra : Thomas Rokamp


Dato : 03-08-04 08:34

Hvis du har brugerens fødselsdato liggende i MySQL, kan du bruge dette:

SELECT FLOOR(PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(birthdate,
'%Y%m'))/12) AS alder FROM users

Jeg kunne godt bruge noget review på koden, for jeg er ikke 100% sikker på
den altid holder??

Mvh.
Thomas Rokamp


"Lasse Madsen" <lass1987@hotmail.com> skrev i en meddelelse
news:410cfc21$0$35882$14726298@news.sunsite.dk...
> Kan man lave et PHP-script, der regner sin alder ud, for umiddelbart kan
jeg
> ikke lige se det?
> Hvis der er, hvor kan man så finde det?
>
>



Peter Brodersen (03-08-2004)
Kommentar
Fra : Peter Brodersen


Dato : 03-08-04 08:40

On Tue, 3 Aug 2004 09:34:17 +0200, "Thomas Rokamp" <nospam@crax.dk>
wrote:

>Jeg kunne godt bruge noget review på koden, for jeg er ikke 100% sikker på
>den altid holder??

Der er et langt mere simpelt eksempel i manualen:
http://dev.mysql.com/doc/mysql/en/Date_calculations.html

Man trækker blot årstallene fra hinanden - og trækker én fra, hvis
nuværende måned-dag er mindre end personens måned-dag.

SELECT name, birth, CURDATE(),
(YEAR(CURDATE())-YEAR(birth))
- (RIGHT(CURDATE(),5)<RIGHT(birth,5))
AS age
FROM pet;


Umiddelbart kan:
(RIGHT(CURDATE(),5)<RIGHT(birth,5))
... måske være svær at lure, men den vil returnere 1 (hvis personen
ikke har haft fødselsdag endnu i år) eller 0 (hvis personen har haft
fødselsdag).

--
- Peter Brodersen

Ugens sprogtip: minsandten (og ikke mindsandten)

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

Månedens bedste
Årets bedste
Sidste års bedste