---
title: "Datumkontroll"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/15675-datumkontroll"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Niklasson"
published: "2001-05-09T20:43:00.000Z"
updated: "2001-05-27T12:25:00.000Z"
replies: 13
views: 345
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/15675-datumkontroll"
---

# Datumkontroll

## #1 — Niklasson, 2001-05-09T20:43Z

Sökte lite men hittade inget perfekt exempel..

Jag behöver en kodsnutt som kollar om datumet i tabellens fält "datum" är äldre eller nyare än 24 timmar. Tänkte göra en indikation på nya inlägg i ett forum..

Vet inte om det är viktigt, men datumformatet kommer troligtvis vara 2001-05-09 22:45:00

Lika tacksam för hjälp som vanligt..  ;)

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

## #2 — nicclas, 2001-05-09T20:48Z

Spara datum i databasen som ett unix-timestamp dvs sekunder sedan ett fixt datum mha time() så blir det mesta mycket enklare... Då behöver du bara jämföra om time()-(tiden ur databasen)\>24\*60\*60!

/nicclas

\[Redigerat av nicclas den 09 maj 2001\]

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

## #3 — Niklasson, 2001-05-09T22:02Z

Det låter bra, men hur gör jag? Jag har ett annat script nånstans som gör detta, men vore tacksam om jag fick mer hjälp..

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

## #4 — Agaith, 2001-05-10T07:54Z

det datum du skall spara får du så här:

```
$datum = date("U");
```

för att sedan jämföra det 

```
$nudatum = date("U");
$nudatum -= 86400;
if ($datum < $nudate)
{
här kan du göra saker om db-tiden är äldre.
}
else
{
annars...
}
```

Detta stöder inte vårdagjämning och sådant, detta kan  lösas med hjälp av att man använder mktime.

kommer ex av en polare strax...

//skiver fel som vanligt :(...

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

## #5 — cyanide, 2001-05-10T08:06Z

Sparat datum:

```
$datum = date("U");
```

Resten:

```
$i_gar = mktime (date("H"), date("i"), date("s"), date("m"), date("d")-1, date("Y"));

if ($datum < $i_gar)
{
här kan du göra saker om db-tiden är äldre.
}
else
{
annars...
}
```

PHP fixar själv kollen om det är vårdagjämning och sånt där.
MAO även om dygnet är 23 eller 25 timmar så kommer det att fungera.

Lite 'overkill' kanske... men det är trevligt med grejer som fungerar till 100%.

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

## #6 — Niklasson, 2001-05-10T15:24Z

Ser ut att fungera bra, men vad för typ av fält skall jag använda i mySQL-tabellen och hur får jag datumet utskrivet på sidan i det formatet som jag vill ha det?

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

## #7 — Niklasson, 2001-05-10T20:46Z

Hallå?  Någon..   ;)

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

## #8 — LarsG, 2001-05-10T21:12Z

Olika datatype för tid od i mysql:
 <http://www.mysql.com/doc/D/a/Date_and_time_types.html> 

Datumformatering i PHP
 <http://www.php.net/manual/en/function.date.php>

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

## #9 — Rödalacket, 2001-05-10T21:40Z

date("Y m d H:i:s")
ger
2001 05 10 23:38:20

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

## #10 — Niklasson, 2001-05-10T22:43Z

Jag vet att $datum = date("Y-m-d H:i:s"); ger mig 2001-05-11 00:45:25 - men problemet är ju att jag inte fattar hur allt skall hänga ihop. Om jag måste göra en timestamp så måste jag ju kunna hämta det värdet ur databasen och visa det för besökaren som 2001-05-11 00:45:25 istället för timestampet som bara består av en massa olika siffror.

Nån som förstår mitt problem?

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

## #11 — Rödalacket, 2001-05-10T23:03Z

Nått sånt här kanske

```
<?
$tid=time();
$tid=date("Y m d H:i:s");
echo $tid;
?>
```

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

## #12 — Agaith, 2001-05-11T08:56Z

Har bara använt pgSQL, men det borde finnas något fält för motsvarande int4, dvs siffror.

Du får kolla hu stort fältet behöver vara.

När du har sparat siffrorna du får från exemplen oven i db'n har du ju ett timestamp som ligger i db'n, när du sedan vill visa detta kan du ex skriva 

```
$datumut = date("Y-m-d H:m:s", $datumfråndb);
```

nu får du en fint formaterad tid, ner till sekunder i $datumut.

Hoppas det var detta du undrade, annars får du fråga igen :)

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

## #13 — Fuel, 2001-05-27T09:54Z

Hmm.. jag får inte detta att fungera..

	while ($rowS = mysql_fetch_array($res2)) {

$datumet = $row\[datum\];
$i_gar = mktime (date("H"), date("i"), date("s"), date("m"), date("d")-2, date("Y"));
if ($datumet \< $i_gar)
{
$vad = "";
}
else
{
$vad = "\<img src=\\"new.gif\\" width=\\"30\\" height=\\"12\\" alt=\\"Senaste 2 dagarna\\"\>";
}

echo "$vad\\n";    
              
}

och datumet är nedsparat i databasen så här: $datum = date("U");

bilden new visas hela tiden.. :(

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

## #14 — Fuel, 2001-05-27T12:25Z

Någon ? . behöver hjälp .. pronto :)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/15675-datumkontroll
