webForumDet fria alternativet

Datumkontroll

PHPur PHP

13 svar · 338 visningar · startad av Niklasson

Medlem sedan nov. 2000857 inlägg
Frågan#1

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

------------------
http://www.niklasson.net/

[Redigerat av Niklasson den 09 maj 2001]

Medlem sedan feb. 20001 050 inlägg
#2

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]

Medlem sedan nov. 2000857 inlägg
#3

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

------------------
http://www.niklasson.net/

Medlem sedan jan. 2001191 inlägg
#4

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 :(...
------------------
Jag är inte vegetarian för att jag gillar djuren, utan för att jag hatar växter.

[Redigerat av Agaith den 10 maj 2001]

Medlem sedan maj 20011 inlägg
#5

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%.

Medlem sedan nov. 2000857 inlägg
#6

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?

------------------
http://www.niklasson.net/

Medlem sedan nov. 2000857 inlägg
#7

Hallå? Någon.. ;)

------------------
http://www.niklasson.net/

Medlem sedan dec. 200012 464 inlägg
#8

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

------------------
essentitia preter non sans multiplicandum

Medlem sedan feb. 20002 612 inlägg
#9

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

Medlem sedan nov. 2000857 inlägg
#10

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?

------------------
http://www.niklasson.net/

Medlem sedan feb. 20002 612 inlägg
#11

Nått sånt här kanske

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

------------------
********** Niclas **********

Medlem sedan jan. 2001191 inlägg
#12

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

------------------
Jag är inte vegetarian för att jag gillar djuren, utan för att jag hatar växter.

[Redigerat av Agaith den 11 maj 2001]

[Redigerat av Agaith den 11 maj 2001]

Medlem sedan okt. 20001 285 inlägg
#13

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.. :(

------------------
" The code is out there "

[Redigerat av Fuel den 27 maj 2001]

Medlem sedan okt. 20001 285 inlägg
#14

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

------------------
" The code is out there "

148 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)