michi-ffm
Goto Top

Datum Rechner

Hey Leute,
evtl kann mir jemand helfen und mir folgenden Skript erklären und sagen wie ich das Jahr dazubekommen kann?


$datum="21.08.1961";  
$d=explode(".",$datum);  
$unix=mktime(0,0,0,$d[1],$d,$d[2]);
$stamp=time();
$diff=$unix-$stamp;
$diff=$diff/86400;
echo 'Vor genau '.ceil($diff).' Tage habt ihr geheiratet '.$datum;  

Lg Michi

Content-Key: 351801

Url: https://administrator.de/contentid/351801

Printed on: April 24, 2024 at 09:04 o'clock

Member: tomolpi
tomolpi Oct 14, 2017 updated at 19:49:58 (UTC)
Goto Top
Zitat von @michi-ffm:
Hey,

ich würde es so lösen:

$date1 = new DateTime("21.08.1961");  
$date2 = new DateTime("14.10.2017");  

$diff = $date2->diff($date1)->format("Tage: %a Jahre: %y");  

echo $diff;

Gibt aus:
Tage: 20508 Jahre: 56

Bei dir waren die Tage negativ im echo...

Lg Michi
tomolpi

EDIT: für das tagesaktuelle Datum einfach
$today = date('d.m.y');  
nehmen und
$date2
durch
$today
ersetzen.
Member: michi-ffm
michi-ffm Oct 14, 2017 at 20:00:48 (UTC)
Goto Top
Hey Super vielen Dank hat mich schon etwas weitergeholfen leider klappt es noch nicht ganz:

$date1 = new DateTime("21.08.1961");  
$today = date('d.m.y');  

$diff = $today->diff($date1)->format("Tage: %a Jahre: %y");  

echo $diff;

was für ein Fehler mach ich?
Member: tomolpi
Solution tomolpi Oct 14, 2017 updated at 20:06:41 (UTC)
Goto Top
Zitat von @michi-ffm:
was für ein Fehler mach ich?
Du garkeinen, es war meiner. Sorry.

So klappt es:

$date1 = new DateTime("21.08.1961");  

$today = date('d.m.y');  
$today = new DateTime($today);

$diff = $today->diff($date1)->format("Tage: %a Jahre: %y");  

echo $diff;

Wie du siehst, hatte ich vergessen den String $date wieder in ein DateTime Objekt umzuwandel.
Member: michi-ffm
michi-ffm Oct 21, 2017 at 15:25:09 (UTC)
Goto Top
Hey ich bins wieder evtl könntest du erneut helfen? ^^

Ich möchte gerne, dass das Ergebniss im Link hinterlegt wird. Leider klappt es noch nicht ganz mit den Objekten
Hier der aktuelle Skript:
if ($_GET['senden'] != '' AND $_GET['datum'] != '') {  
echo $_GET['namen']." ".$_GET['datum']."<br><br>";  
$date1 = new DateTime( $_GET['datum']);  
$today = date('d.m.y');  
$today = new DateTime($today);
$diff = $today->diff($date1)->format("Tage: %a Jahre: %y");  
echo $diff;
echo "<br><br><a href=link....".$diff."><br>Teilen</a>";  

Nun wollte ich die Zeile
$diff = $today->diff($date1)->format("Tage: %a Jahre: %y");  
abändern und wie folgt anpassen jedoch mache ich noch ein fehler.

$DIFFOBJ = $today->diff($date1);

$DIFFOBJ->format("Tage: %a Jahre: %y");  
Member: tomolpi
Solution tomolpi Oct 21, 2017 at 16:05:50 (UTC)
Goto Top
Hallo,

klar kann ich helfen.
Du hast die Variable falsch eingebunden.

So machst du es richtig:

<?php

$date1 = new DateTime("21.08.1961");  

$today = date('d.m.y');  
$today = new DateTime($today);

$days = $today->diff($date1)->format("%a");  
$years = $today->diff($date1)->format("%y");  

$diff = "Tage: ".$days." Jahre: ".$years;  

echo $diff;

echo '<br><br><a href="http://www.youdomain.com/',$diff,'"><br>Teilen</a>';  

Das Beispiel kannst du dir dann anpassen bzw. den Code der letzten Zeile bei dir einbinden. Achte auf das Komma und die Gänsefüschen, dann klappt es.
Member: michi-ffm
michi-ffm Oct 21, 2017 at 17:56:17 (UTC)
Goto Top
Du bist stark ich danke dir vielmals für deine Hilfe, jetzt kann ich weiter machen face-smile