---
title: "Räkna ut födelsedag > Grattis!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/93253-räkna-ut-födelsedag-grattis"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Melea"
published: "2003-12-22T18:01:34.000Z"
updated: "2003-12-23T12:39:32.000Z"
replies: 5
views: 499
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/93253-räkna-ut-födelsedag-grattis"
---

# Räkna ut födelsedag > Grattis!

## #1 — Melea, 2003-12-22T18:01Z

Hejhej wF!

Har en liten funktion som räknar ut hur gammal man är, skulle vilja utveckla den så den säger till den dagen när personen i fråga fyller år men får inte riktigt koll på det, så här ser 'grundkoden' ut...

```
<?
$birthday = $objRS[year]."-".$objRS[month]."-".$objRS[day];

list($Y,$M,$D)=split("-",date("Y-m-d", strtotime("now")));
    list($y,$m,$d)=split("-",date("Y-m-d", strtotime("$birthday")));
$age=(($M<$m)||(($M==$m)&&($D<=$d)))?($Y-$y-1):($Y-$y);

echo $age;
?>
```

Några direkta förslag?

Tack på förhand!

Mvh

Permalänk: https://www.webforum.nu/p/93253

## #2 — Webslave, 2003-12-23T11:32Z

Denna använder jag (hittad på wF ;) ) Och den funkar hur bra som helst.

```php
<?PHP
$b_year = årtalet;
$b_month = månaden;
$b_day = dagen;

$time = getdate(time());
$n_year = $time['year'];
$n_timestamp = time();

//This year birthday:
$b_timestamp = mktime(0,0,0,$b_month,$b_day,$n_year);

//Calculate age:
$age = $n_year - $b_year;
$age--;

if($n_timestamp >= $b_timestamp) {
  $age++;
}
?>
```

Permalänk: https://www.webforum.nu/p/1236417

## #3 — Melea, 2003-12-23T12:26Z

Jo den där koden ger i stort sett samma resultat som min.. kanske förklarade dåligt men jag vill att den ska hojta till när $b_day = date(now());

Den ska alltså skriva ut "Grattis" efter ens ålder om man fyller år på nuvarande datum.

Go'Jul :)

Mvh

Permalänk: https://www.webforum.nu/p/1236442

## #4 — Matte, 2003-12-23T12:32Z

Hur har du lagrat månad och dag har du med inledande nolla ?

Om du har det och årtalet med fyra siffror så borde detta funka:

```php
$birthday = $objRS[year]."-".$objRS[month]."-".$objRS[day];

if $birthday == date("Y-m-d") {
   echo 'Grattis !';
}
```

Permalänk: https://www.webforum.nu/p/1236445

## #5 — Melea, 2003-12-23T12:38Z

Nej, nu måste jag ju fylla år IDAG, alltså vara född idag, annars funkar inte den if-satsen.

Permalänk: https://www.webforum.nu/p/1236448

## #6 — Melea, 2003-12-23T12:39Z

Fixade till den lite. Såhär ser koden ut i dagsläget:

```php
<?
$b_year = $objRS[year];
$b_month = $objRS[month];
$b_day = $objRS[day];
$b_all = $objRS[month]."-".$objRS[day];

$time = getdate(time());
$n_year = $time['year'];
$n_timestamp = time();

//This year birthday:
$b_timestamp = mktime(0,0,0,$b_month,$b_day,$n_year);

//Calculate age:
$age = $n_year - $b_year;
$age--;

if($n_timestamp >= $b_timestamp) {
  $age++;
}

if ($b_all <> date("m-d")) {
echo $age;
}

if ($b_all == date("m-d")) {
   echo " ".$objRS['username']." fyller ".$age." år idag! <b>Grattis!!</b>";
}
?>
```

Tack o Go'Jul! Älskar wF ;)

Permalänk: https://www.webforum.nu/p/1236449

---

Tråden på webben: https://www.webforum.nu/amne/php/93253-räkna-ut-födelsedag-grattis
