webForumDet fria alternativet

Datumkontroll

13 svar · 338 visningar · startad av Niklasson

NiklassonMedlem sedan nov. 2000823 inlägg
#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]

nicclasMedlem sedan feb. 20001 061 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]

NiklassonMedlem sedan nov. 2000823 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/

AgaithMedlem sedan jan. 2001168 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]

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

NiklassonMedlem sedan nov. 2000823 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/

NiklassonMedlem sedan nov. 2000823 inlägg
#7

Hallå? Någon.. ;)

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

LarsGMedlem sedan dec. 200012 465 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

RödalacketMedlem sedan feb. 20001 160 inlägg
#9

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

NiklassonMedlem sedan nov. 2000823 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/

RödalacketMedlem sedan feb. 20001 160 inlägg
#11

Nått sånt här kanske

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

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

AgaithMedlem sedan jan. 2001168 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]

FuelMedlem sedan okt. 20001 325 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]

FuelMedlem sedan okt. 20001 325 inlägg
#14

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

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

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb