---
title: "Problem med datum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/60078-problem-med-datum"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "jepsO"
published: "2002-11-24T13:30:36.000Z"
updated: "2002-11-24T15:19:04.000Z"
replies: 2
views: 232
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/60078-problem-med-datum"
---

# Problem med datum

## #1 — jepsO, 2002-11-24T13:30Z

Jag har en mySQL-tabell som innehåller ett datumfält med namnet **s_dat** och typen **DATE**. Detta hämtas sedan på följande sätt:

```php
$dat = strftime("%e %B",$s_dat);
```

 *Orsaken till att jag definierar en ny variabel är att den är del av en if-sats.*

Kör man sedan echo på $s_dat och $dat blir det dock fel. $s_dat returnerar, mycket riktigt, "2002-12-08", men $dat returnerar "1 januari" och året "1970", alltså startdatumet för strftime()-funktionen.

Vad kan vara fel?

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

## #2 — dectgap, 2002-11-24T15:05Z

Testa att hämta s_dat med UNIX_TIMESTAMP() i SQL-satsen först.

Ett exempel:

```php
$result = mysql_query("SELECT UNIX_TIMESTAMP(s_dat) AS tid FROM tabellen";

while ($row = mysql_fetch_array($result)){
echo strftime("%e %B",$row["tid"]);
}
```

Lite onödigt av mig att ändra allting..
Saken är den att du måste ha tiden du anger i strfrtime() i Unix-format (=antalet sekunder sedan 1 januari 1970). Datumet du har i databasen måste alltså göras om till ett antal sekunder, och det kan du göra med mysql-funktionen UNIX_TIMESTAMP(). Ett alternativ är:

```php
$s_dat = strtotime($s_dat);
$dat = strftime("%e %B",$s_dat);
```

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

## #3 — jepsO, 2002-11-24T15:19Z

strtotime()-funktionen fungerade utmärkt. Tack!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/60078-problem-med-datum
