Datum converteren
Frederic - 30/04/2005 11:35
PHP ver gevorderde
Zou iemand me kunnen helpen met deze datumconvertor?
Normaalgezien moet hij de datum in het nederlands zetten, maar ik krijg volgende error:
Notice: Undefined offset: 1 op de lijn van $tijd en hij echo't gewoon 30-04-2005, dus zonder tijd
<?php
//Voorbeeld van hoe het in de database zit: 2005-04-30 11:28:07
function datum_nl($datefield)
{
$hoofdarray = explode(" ", $datefield);
$datum = $hoofdarray[0];
$tijd = $hoofdarray[1];
$datumarray = explode("-", $datum);
$datum_d = $datumarray[2];
$datum_m = $datumarray[1];
$datum_j = $datumarray[0];
$datum = $datum_d."-".$datum_m."-".$datum_j;
$newdate = $datum." ".$tijd;
return $newdate;
}
?>
<?php
//Voorbeeld van hoe het in de database zit: 2005-04-30 11:28:07
function datum_nl( $datefield )
{
$hoofdarray = explode ( " " , $datefield ) ; $datum = $hoofdarray [ 0 ] ;
$tijd = $hoofdarray [ 1 ] ;
$datumarray = explode ( "-" , $datum ) ;
$datum_d = $datumarray [ 2 ] ;
$datum_m = $datumarray [ 1 ] ;
$datum_j = $datumarray [ 0 ] ;
$datum = $datum_d . "-" . $datum_m . "-" . $datum_j ;
$newdate = $datum . " " . $tijd ;
return $newdate ;
}
?>
11 antwoorden
Gesponsorde links
Tuinstoel - 30/04/2005 11:37 (laatste wijziging 30/04/2005 11:39)
PHP expert
Ken je DATE_FORMAT()? Als je het uit de database haalt kun je het heel eenvoudig in je query zetten.
$sQuery = "SELECT *, DATE_FORMAT(`datum_veld`, '%d/%m/%Y') AS `datum` ...";
$sQuery = "SELECT *, DATE_FORMAT(`datum_veld`, '%d /%m/%Y') AS `datum` ..." ;
Edit:
Even snel een functie in elkaar gedrukt wat ook wel werkt;
<?php
function DatumConvert($sDatum)
{
$aEen = explode(" ",$sDatum);
$aPre = explode("-",$aEen[0]);
return $aPre[2].'-'.$aPre[1].'-'.$aPre[0];
}
echo DatumConvert('2005-04-30 11:39:40');
?>
<?php
function DatumConvert( $sDatum )
{
return $aPre [ 2 ] . '-' . $aPre [ 1 ] . '-' . $aPre [ 0 ] ;
}
echo DatumConvert
( '2005-04-30 11:39:40' ) ; ?>
Frederic - 30/04/2005 11:40
PHP ver gevorderde
Als ik van m'n query dit maak is de error wel weg, maar echo't ie alleen maar de datum, niet de tijd
$sql = mysql_query("SELECT *, DATE_FORMAT(`datum`, '%d/%m/%Y %H/%i/%s') AS `datum` FROM `leden_berichten` WHERE naar = '".$_SESSION['gid']."' ORDER BY id DESC") or die(mysql_error());
$sql = mysql_query ( "SELECT *, DATE_FORMAT(`datum`, '%d /%m/%Y %H/%i/%s ') AS `datum` FROM `leden_berichten` WHERE naar = '" . $_SESSION [ 'gid' ] . "' ORDER BY id DESC" ) or
die ( mysql_error ( ) ) ;
CelestialCelebi - 30/04/2005 11:41
PHP gevorderde
Gebruik DATE_FORMAT() maar, die van Tuinstoel is wel leuk verzonnen, maar overbodig.
Tuinstoel - 30/04/2005 11:42
PHP expert
Ow de tijd er ook nog bij, nou dan wordt de functie zo:
<?php
function DatumConvert($sDatum)
{
$aEen = explode(" ",$sDatum);
$aPre = explode("-",$aEen[0]);
return $aPre[2].'-'.$aPre[1].'-'.$aPre[0].' '.$aEen[1];
}
echo DatumConvert('2005-04-30 11:39:40');
?>
<?php
function DatumConvert( $sDatum )
{
return $aPre [ 2 ] . '-' . $aPre [ 1 ] . '-' . $aPre [ 0 ] . ' ' . $aEen [ 1 ] ;
}
echo DatumConvert
( '2005-04-30 11:39:40' ) ; ?>
Frederic - 30/04/2005 11:44
PHP ver gevorderde
Huh, die offset blijft maar terugkomen!
Notice: Undefined offset: 1 op de regel van return
<?php
//Voorbeeld van hoe het in de database zit: 2005-04-30 11:28:07
function datum_nl($sDatum)
{
$aEen = explode(" ",$sDatum);
$aPre = explode("-",$aEen[0]);
return $aPre[2].'-'.$aPre[1].'-'.$aPre[0].' '.$aEen[1];
}
?>
<?php
//Voorbeeld van hoe het in de database zit: 2005-04-30 11:28:07
function datum_nl( $sDatum )
{
return $aPre [ 2 ] . '-' . $aPre [ 1 ] . '-' . $aPre [ 0 ] . ' ' . $aEen [ 1 ] ;
}
?>
Tuinstoel - 30/04/2005 11:47 (laatste wijziging 30/04/2005 11:48)
PHP expert
Dan vraag ik me af welke datum je nu invoert? Het moet wel op dit formaat zijn hè:
CelestialCelebi - 30/04/2005 11:51
PHP gevorderde
Waarom nou niet gewoon DATE_FORMAT()?
Frederic - 30/04/2005 11:58
PHP ver gevorderde
Foutje, ik was had de verkeerde waarde voor $datum genomen, die niet uit de juiste tabel!
@CC:
omdat ik niet vind hoe je uren, minuten en seconden moet ophalen ermeee
CelestialCelebi - 30/04/2005 12:40
PHP gevorderde
SELECT DATE_FORMAT(datumtijdkolom, '%d-%m-%Y %H:%i:%s') AS detijd FROM .....
datumtijdkolom is dan een DATETIME kolom.
Ibrahim - 11/07/2005 17:13
PHP expert
jullie doen allemaal moeilijk om uren, minuten en seconden te weergeven doe je dit:
<?php
$unixtime = strtotime($news['news_datetime']);//verander dat in je veld waar je datum opslaat!
echo date('d-m-Y H:i:s',$unixtime)
?>
<?php
$unixtime = strtotime ( $news [ 'news_datetime' ] ) ; //verander dat in je veld waar je datum opslaat!
?>
dit wordt dan 30-04-2005 11:28:07
Thomas - 11/07/2005 17:33 (laatste wijziging 11/07/2005 17:33)
Moderator
*zucht*
kijk eerst eens bij de scripts ?
http://www.site...&id=30
En ja Celeb, je kan ook DATE_FORMAT gebruiken...
Gesponsorde links
Dit onderwerp is gesloten .