timestamp - mktime()
gothmog - 12/04/2006 19:59
Lid
heey
ik heb al een beetje gezocht, maar kon niks vinden dus vandaar:
hoe kan ik van een uit de database gehaalde timestamp naar mktime() gaan?
want timestamp structuur is: YYYY-MM-DD UU:MM:SS
terwijl die van mktime is: UU, MM, SS, MM, DD, YYYY
14 antwoorden
Gesponsorde links
Crazed - 12/04/2006 20:05
PHP interesse
Ik haal uren, minuten e.d. er altijd uit met substr, sla die op in een aparte variabele en zet ze dan om naar het gewenste formaat. Maar als dat de beste methode is, dat betwijfel ik.
Rens - 12/04/2006 20:22
Crew algemeen
Met date kun je een timestamp omzetten naar een gewone datum.
Dus bijv.:
<?PHP
while($aFetch = MySQL_Fetch_Assoc($rResult))
{
echo "Dag: ".date("d", $aFetch['datum'])."<br />";
echo "Maand: ".date("m", $aFetch['datum'])."<br />";
echo "Jaar: ".date("Y", $aFetch['datum']);
}
?>
<?PHP
{
echo "Dag: " . date ( "d" , $aFetch [ 'datum' ] ) . "<br />" ; echo "Maand: " . date ( "m" , $aFetch [ 'datum' ] ) . "<br />" ; echo "Jaar: " . date ( "Y" , $aFetch [ 'datum' ] ) ; }
?>
ikkedikke - 12/04/2006 20:55
PHP expert
lang leve de mysql functies als date_format() timestamp()..
Richard - 12/04/2006 21:01
Crew algemeen
ooit gehoord van UNIX_TIMESTAMP in mysql?
gothmog - 14/04/2006 10:49
Lid
Heel erg bedankt voor de reacties!
Ik heb dat script waar webstab het over had gebruikt.
Maar er gaat iets niet helemaal goed...
<?php
$mktime1=datefromiso($objip->datum, false, "H,i,s,m,d,Y");
$mktime=mktime($mktime1);
echo "".$mktime1."<br>";
echo $mktime."<br>";
<?php
$mktime1 = datefromiso( $objip -> datum , false , "H,i,s,m,d,Y" ) ;
Het gaat allemaal goed, tot bij: $mktime=mktime($mktime1);
Om een of andere manier zet hij daar de datum van vandaag neer en een tijd van rond 19 uur...
Weet iemand hoe dit kan?
gothmog - 14/04/2006 11:07
Lid
@marten
Ja ik ben niet echt zo netjes;-)
@Rensjuh
Nu snap ik het:D
alleen als ik jouwn manier gebruik krijg ik de datum van epoch
Rens - 14/04/2006 11:09
Crew algemeen
Ja, daar is mktime ook voor bedoeld hoor.
Die zet een gewone datum om, en een timestamp...
Als je van timestamp naar gewoon wilt, moet je date gebruiken.
PHP.net: date
voorbeeldje:
<?PHP
// we nemen nu even time(), dit kan net zo goed
// een timestamp uit de db zijn
$iDatum = time();
echo date("d-m-Y H:i", $iDatum);
?>
<?PHP
// we nemen nu even time(), dit kan net zo goed
// een timestamp uit de db zijn
?>
gothmog - 14/04/2006 11:16 (laatste wijziging 14/04/2006 11:41)
Lid
@rensjuh
dat is juist van de sec. sinds epoch naar timestamp
ik wil alle uren, minuten, seconden etc. los van elkaar hebben zodat ik die kan invullen in de mktime()
edit: het is al gelukt hoor, nog bedankt allemaal
Met de code van fangorn ben ik hierop gekomen:
<?php
list($dat, $tim) = explode(" ", $date);
list($y, $mo, $d) = explode("-", $dat);
list($h, $mi, $s) = explode(":", $tim);
$toen=mktime($h, $mi, $s, $mo, $d, $y);
?>
<?php
$toen = mktime ( $h , $mi , $s , $mo , $d , $y ) ; ?>
Thomas - 14/04/2006 12:22
Moderator
Kijk eens goed bij de functie datefromiso() - deze heeft een speciaal patroon genaamd "unix" - deze kun je gebruiken om unixtimes te maken, dus roep deze als volgt aan:
$mktime = datefromiso($objip->datum, false, "unix");
echo $mktime."<br>";
$mktime = datefromiso( $objip -> datum , false , "unix" ) ;
That's it.
Gesponsorde links
Dit onderwerp is gesloten .