Time in Datum um wandeln | datum in alter umwandeln!! --> ich blick das nicht!

alive

Erfahrenes Mitglied
1. Problem:
Ich habe in einer Mysql Tabelle einen Timestamp gespeichert, den will ich nun beim auslesen in ein Datum umwandeln..

2.Problem:
Ich habe ein Datum und will das in ein Alter umwandeln!

P.S:Ich habe nach den Stichwörtern "ZEit", "Geburtstag" und "Datum" gesucht... und alles irgendwie nicht so recht verstanden!!
cu alive
 
Sowohl MySQL als auch PHP bieten dir die Möglichkeit einen Timestamp in ein anderes Format zu bringen:

MySQL macht das mit der Funktion DATE_FORMAT(). Hier ein Beispiel:
SELECT DATE_FORMAT(`spalte`, '%d.%m.%Y') FROM tabelle

so würde die Spalte "spalte" in ein Datumsformat gewandelt werden wie wir es normalerweise benutzen.

schau auch mal hier:
http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Date_and_time_functions

PHP kann das natürlich auch:
echo DATE ("d.m.Y", time());
liefert dir das Datum von jetzt.

http://www.php3.de/manual/de/function.date.php

Gruß, yson
 
den mysql befehl hab ich noch nicht ausprobiert aber das mit date() geht nicht...
ich habe ja einen bestimmten TIMESTAMP nichts was genau jetzt ist!
PHP:
<?php
$sql = ""; // sqlbefehl
$query = mysql_query($sql) ;
while ($daten = mysql_fetch_array($query)) {
$alter = $daten[alter] ;
$alter = ("d.m.Y", $alter); //so?
echo "";
}
?>
 
Zuletzt bearbeitet:
PHP:
<?
$db_host ="localhost";
$db_user ="root";
$db_pass ="root";
$db_database ="beispiel";
$conn = mysql_pconnect($db_host,$db_user,$db_pass) or die("connection failed!<br>".mysql_error());
mysql_select_db($db_database,$conn) or die("fehler".mysql_error());

$table = "timestamp";
$result = mysql_query("SELECT timestamp from $table");


while($row = mysql_fetch_object($result)) {
   echo $row->timestamp;
   echo "-";
   echo date("d.m.Y",$row->timestamp);
   echo "<br>";
}
// oder
while($row = mysql_fetch_assoc($result)) {
   echo $row[timestamp];
   echo "-";
   echo date("d.m.Y",$row[timestamp]);
   echo "<br>";
}
// oder *g*
while($row = mysql_fetch_array($result)) {
   echo $row[timestamp];
   echo "-";
   echo date("d.m.Y",$row[timestamp]);
   echo "<br>";
}
?>
 
Zuletzt bearbeitet:
dazu muste dir ein Datum machen
mktime();
hier gibste dann das Datum an
nimmst nochmals time();
und subtrahierst es
von heute das abziehen was er eingeben hatt.
*g* bin grad bisl im stress wenn du bis morgen keine Antwort bekommen hast dann werd ich dir eine Funktion programmieren die dir das ergebnis ausgibt.. :)
 
zur verdeutlichung :)

timestamp des jetzigen datums - timestamp des geburtsdatums = ergebnis timestamp

den ergebnis timestamp mit der date methode formatiert ausgeben, am besten natürlich in jahren, nicht in millisekunden :)
 
Ah... also das eine habe ich war ja easy... --> *vollbloedist*
aber das mit dem alter habe ich noch nicht hinbekommen!!
Bitte helft mir .P
 
aber wie errechne ich nun aus einem datum 15.12.87 das alter?????
Naja SonicBeam hats ja schon erwähnt:
Aus 15.12.87 einen Timestamp machen mithilfe von mktime().
Also in deinem Fall z.B.:
PHP:
$tag=15;
$monat=12;
$jahr=1987;

$timestamp_des_geburtstages=mktime(0,0,0,$monat,$tag,$jahr);
Jetzt einfach die Anweisung von Rios befolgen:
PHP:
$timestamp_heute=time();
//timestamp des jetzigen datums - timestamp des geburtsdatums = ergebnis timestamp
$timestamp_alter=$timestamp_heute - $timestamp_des_geburtstages;

Allerdings stoße ich jetzt hier auch auf ein Problem, wie soll man denn bitte jetzt den Timestamp auf die Form von Jahren bringen?!

Ne einfachere Möglichkeit wäre doch, das Geburtsjahr vom aktuellen abzuziehen und auszugeben. Naja, hier wäre natürlich eine gewisse Ungenauigkeit vorhanden, da nicht auf Monate oder Tage geachtet wird.
 
Zurück