Timestamp & Datum manipulatie

Status
Niet open voor verdere reacties.

Kevin We

Gebruiker
Lid geworden
8 sep 2005
Berichten
119
Beste,

Ik heb in het inloggedeelte van onze website iets gemaakt waarbij er door middel van Menulijstjes een datum kan ingegeven worden in het formaat "01-Januari-2007" ("DD-Month-YYYY").

Nu zou ik deze willen wegschrijven naar een database (op zich geen probleem).
Maar ik wil hierna de gegevens die bij deze datum horen willen uitlezen en dan moet ik de datum met 10 dagen kunnen verhogen.

Ik weet dat er in MySQL een functie bestaat ADD_DAYS maar nu is de vraag eigenlijk hoe ik deze datum het beste wegschrijf (om problemen te voorkomen).

Ik heb al gehoord van een TimeStamp maar ik snap dit eigenlijk niet echt goed, kan iemand mij wat raad geven?

MvG
 
Heb je deze thread al doorgelezen?
 
PHP:
<html>
  <body>
<?php 
 $sMaanden=array("","Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December");
 $datum="26-Februari-2007"; 
  echo "Datum in variabele: $datum<br>"; 
  $x=split("-",$datum); 
  for($i=1;$i<=12;$i++){
    if($x[1]==$sMaanden[$i]){
      $x[1]=$i;
    }
  }
  $datum=date("d-n-Y",mktime(0,0,0,$x[1],$x[0]+10,$x[2]));
  $x=split("-",$datum);
  $datum=$x[0] . "-" . $sMaanden[$x[1]] . "-" . $x[2];
  echo("Datum + 10 dagen: $datum");
?>   
  </body>
</html>
 
Eerlijk gezegd ziet het er allemaal nogal wat Chinees uit voor mij :confused:

Misschien was mijn uitleg niet echt duidelijk, ik probeer het nog eens:

Ik heb een variabele $Datum hier zit de datum is als volgt (01-01-2007) -> DD-MM-YYYY

1) op welke manier schrijf ik deze datum best naar mijn MySQL tabel als Date of iets anders?
2) ik wil deze datum later uitlezen en er dus 10 dagen bijtellen (als Where clause in een Select statement)
 
Laatst bewerkt:
Ik zal even de code aanpassen voor hetgeen je nu beschrijft...
momentje he ;)
 
Zeker mijn thread niet doorgelezen :rolleyes:
PHP:
function datetounix($s_date, $s_time, $s_format = "d-m-Y H:i:s") {
  $s_datetime = $s_date .' '. $s_time;
  $s_unix = strtotime($s_datetime);
  return $s_unix;
}
$datum = "01-01-2007";
$tijd = "00:00";

$verschil = 0;

echo datetounix($datum, $tijd);
Zorgt voor een UNIX time-stamp. Die sla je op en vervolgens kun je daar nog allerlei bewerkingen op doen...

In de thread is gewerkt naar een tijdsverschil van 12 uur.
 
Laatst bewerkt:
je kan de datum best als DATE opslaan
PHP:
  $Datum="01-01-2007"; 
  $x=split("-",$datum); 
  $Datumplus10dagen=date("d-m-Y",mktime(0,0,0,$x[1],$x[0]+10,$x[2]));
  //
  // andere opdracchten
  //
  $sql="Select * FROM tabelnaam WHERE datum=#$Datumplus10dagen#;";
van de hekjes (#) rond de datum in de sql-string ben ik niet zeker... dat moet je maar eens testen
 
Volgende code heb ik om de datum weg te schrijven naar mijn tabel, toch geeft hij bij het wegschrijven altijd '0000-00-000' in mijn SQL-tabel.


PHP:
$jaar = date("Y");
$datum =  "$jaar-$_POST[cmbDatumMaand]-$_POST[cmbDatumDag]";

echo "$datum";

 	$qry = "INSERT INTO  Uitslagen(Thuisploeg, Uitploeg, ScoreThuisploeg, ScoreUitploeg, Datum)
             	VALUES('$_POST[txtThuisploegNaam]','$_POST[txtPloegnaamUitploeg]','$_POST[cmbThuisploegScore]', '$_POST[cmbUitploegScore]',$datum)";
 
blijkbaar moet je de datum opgeven in het formaat "JJJJ-MM-DD"
 
gebeurt hier (YYYY-MM-DD):

PHP:
$datum =  "$jaar-$_POST[cmbDatumMaand]-$_POST[cmbDatumDag]";

en hier schrijf ik hem naar mijn tabel:

PHP:
$qry = "INSERT INTO  Uitslagen(Thuisploeg, Uitploeg, ScoreThuisploeg, ScoreUitploeg, Datum)
             	VALUES('$_POST[txtThuisploegNaam]','$_POST[txtPloegnaamUitploeg]','$_POST[cmbThuisploegScore]', '$_POST[cmbUitploegScore]',$datum)";
 
weet het allemaal niet meer uit het hoofd, maar zal eens even wat testen
 
tja als ik een echo doe van mijn variabele $date staat er wel degelijk een datum zoals 2007-01-12.

Maar als ik deze dan wil inserteren blijft het gewoon het staandaar masker staan.

Mijn gebruikte code:

PHP:
$jaar = date("Y");
$datum =  "$jaar-$_POST[cmbDatumMaand]-$_POST[cmbDatumDag]";

echo "$datum";

 	$qry = "INSERT INTO  Uitslagen(Thuisploeg, Uitploeg, ScoreThuisploeg, ScoreUitploeg, Datum)
             	VALUES('$_POST[txtThuisploegNaam]','$_POST[txtPloegnaamUitploeg]','$_POST[cmbThuisploegScore]', '$_POST[cmbUitploegScore]',$datum)";
 
Laatst bewerkt:
Blijkbaar moet ook de datum tussen enkele aanhalingstekens staan als je die opslaat

PHP:
$qry = "INSERT INTO Uitslagen (Thuisploeg, Uitploeg, ScoreThuisploeg, ScoreUitploeg, Datum) VALUES ('$_POST[txtThuisploegNaam]', '$_POST[txtPloegnaamUitploeg]', '$_POST[cmbThuisploegScore]', '$_POST[cmbUitploegScore]', '$datum')";
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan