|
| 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)
| |
|
|