Eurokicker
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 17.03.2007, 05:53   #1
TP-Senior
 
Registriert seit: Sep 2003
Ort: Cabarete
LooM_mx3 macht alles soweit korrekt
Post

Datumsberchnung - Differenz zwischen 2 Daten


HI!
habs gerade gebraucht und mir zusammen gebastelt. Vielleicht kanns einer gebrauchen:
PHP-Code:
<?php
// Differenz zwischen zwei Daten.
$datum1="12.12.2007";
$datum2="13.12.2008";
// Declare functions ---------------------------------------------------------------------------------------------------------


function condate($condate) {
$date_elements  explode(".",$condate);
return 
mktime(0,0,0,$date_elements[1],$date_elements[0],$date_elements[2]);
}


$sec1=condate($datum1); //Sekunden seit unix Timestamp für Datum1
echo "$sec1<br>";
$sec2=condate($datum2); //Sekunden seit unix Timestamp für Datum2
echo "$sec2<br>";

$secdiff $sec2-$sec1;       // Differenz der UnixTimestamp vergangenen Sekunden
echo "Sekunden:$secdiff<br>";
$minuten=$secdiff/60;
echo 
"Minuten:$minuten<br>";
$stunden $minuten/60;
echo 
"Stunden:$stunden<br>";
$tage $stunden/24;
echo 
"Tage:$tage<br>";

?>
LooM_mx3 ist offline   Mit Zitat antworten


Alt 17.03.2007, 07:11   #2
TP-Insider
 
Registriert seit: Nov 2006
Ort: Lübeck
Guin hilft, wo's gehtGuin hilft, wo's gehtGuin hilft, wo's geht
Ich habe deine Funktion mal abgewandelt. Uhrzeitangaben sind nun auch moeglich.

PHP-Code:
<?php
// Differenz zwischen zwei Daten.
$date1="12.12.2007T16:00:00";
$date2="13.12.2008T16:00:05";
//$date3= "12.12.2008"; // geht so natuerlich auch. Uhrzeit ist dann 00:00:00
$diff_sekunden=0;
$sekunden=0;
$minuten=0;
$mod_minuten=0;
$stunden=0;
$mod_stunden=0;
$tage=0;
$mod_tage=0;

// Declare functions -
function difference_date($d1$d2) {
   return 
strtotime($d2)-strtotime($d1);
}

$diff_sekunden=difference_date($date1$date2);
$tage=floor($diff_sekunden/86400);
$mod_tage=$diff_sekunden%86400;
$stunden=floor($mod_tage/3600);
$mod_stunden=$mod_tage%3600;
$minuten=floor($mod_stunden/60);
$sekunden=$mod_stunden%60;


echo 
$date1." - ".$date2."<br />";
echo 
"Differenz: ".$tage." Tage, ".$stunden." Stunden, ".$minuten." Minuten und ".$sekunden." Sekunden<br />";
?>
Guin ist offline   Mit Zitat antworten
Alt 10.05.2007, 07:42   #3
TP-Specialist
 
Benutzerbild von MichaelM
 
Registriert seit: Jan 2004
Ort: Münster-Hiltrup
MichaelM hilft, wo's gehtMichaelM hilft, wo's gehtMichaelM hilft, wo's geht
Hallo,

Kann mir mal einer erklären, warum das Script bei mir nicht läuft?

ausgegeben wird folgendens:

12.12.2007T16:00:00 - 13.12.2008T16:00:05
Differenz: 0 Tage, 0 Stunden, 0 Minuten und 0 Sekunden

Das ist doch wohl falsch oder?
__________________
Harleylujar, Michael!!

Falls mein Beitrag zu einer Lösung geführt hat,
würde ich mich über eine konstruktive Bewertung freuen.


Man sieht nur mit dem Herzen gut - das Wesentliche ist für das Auge unsichtbar...


www.mikel-mueller.de
www.sanitaertechnik-mueller.de

-------------------------------------
Mein Useralbum
MichaelM ist offline   Mit Zitat antworten
Alt 10.05.2007, 08:13   #4
TP-Insider
 
Registriert seit: Nov 2006
Ort: Lübeck
Guin hilft, wo's gehtGuin hilft, wo's gehtGuin hilft, wo's geht
Wenn ich mein Skript direkt kopiere und so benutze, kommt
"Differenz: 367 Tage, 0 Stunden, 0 Minuten und 5 Sekunden"
heraus.

Hast du einen Fehler beim Kopieren gemacht?

Wenn du PHP >5.0 benutzt, schreibe mal an den Anfang
Zitat:
error_reporting(E_STRICT);
date_default_timezone_set("Europe/Berlin");
(die zweite Zeile ist nur dafuer da, damit kein Warning ausgegeben wird).
Es sollten keine Fehlermeldungen oder Warnungen erscheinen.

Wenn du php 4 nutzt, verwende statt "E_STRICT" "E_ALL".
Guin ist offline   Mit Zitat antworten
Alt 10.05.2007, 11:44   #5
TP-Specialist
 
Benutzerbild von MichaelM
 
Registriert seit: Jan 2004
Ort: Münster-Hiltrup
MichaelM hilft, wo's gehtMichaelM hilft, wo's gehtMichaelM hilft, wo's geht
Danke für Deine Antwort,

hatte das 2. Script kopiert.
Das läuft bei mir nicht.

Habe es jetzt ein wenig aufpoliert mit Formularfeldern.

PHP-Code:
<?php 
// Differenz zwischen zwei Daten. 
$datum1=$_POST['datum1'];
$datum2=$_POST['datum2']; 
// Declare functions --------------------------------------------------------------------------------------------------------- 


function condate($condate) { 
$date_elements  explode(".",$condate); 
return 
mktime(0,0,0,$date_elements[1],$date_elements[0],$date_elements[2]); 



$sec1=condate($datum1); //Sekunden seit unix Timestamp für Datum1 
/*
echo "$sec1<br>"; */
$sec2=condate($datum2); //Sekunden seit unix Timestamp für Datum2 
/*
echo "$sec2<br>"; */

$secdiff $sec2-$sec1;       // Differenz der UnixTimestamp vergangenen Sekunden 
echo "Sekunden: $secdiff<br>"
$minuten=$secdiff/60
echo 
"Minuten: $minuten<br>"
$stunden $minuten/60
echo 
"Stunden: $stunden<br>"
$tage $stunden/24
$formattage=round($tage,2);
echo 
"Tage: $formattage<br>"
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <label for="textfield"></label>
  <p>
    Startjahr:
    <input type="text" name="datum1" id="datum1" />
</p>
  <p>
    <label for="label"></label>
    Endjahr: 
    <input name="datum2" type="text" id="label" value="<?= date("d.m.Y");?>" />
</p>
  <p>
    <label for="Submit"></label>
    <input type="submit" name="Submit" value="berechnen" id="Submit" />
  </p>
</form>
</body>
</html>
__________________
Harleylujar, Michael!!

Falls mein Beitrag zu einer Lösung geführt hat,
würde ich mich über eine konstruktive Bewertung freuen.


Man sieht nur mit dem Herzen gut - das Wesentliche ist für das Auge unsichtbar...


www.mikel-mueller.de
www.sanitaertechnik-mueller.de

-------------------------------------
Mein Useralbum

Geändert von MichaelM (10.05.2007 um 12:07 Uhr).
MichaelM ist offline   Mit Zitat antworten
Alt 11.05.2007, 12:18   #6
TP-Specialist
 
Benutzerbild von MichaelM
 
Registriert seit: Jan 2004
Ort: Münster-Hiltrup
MichaelM hilft, wo's gehtMichaelM hilft, wo's gehtMichaelM hilft, wo's geht
Noch einmal eine Frage,

berücksichtigt dieses Script auch Schaltjahre?
__________________
Harleylujar, Michael!!

Falls mein Beitrag zu einer Lösung geführt hat,
würde ich mich über eine konstruktive Bewertung freuen.


Man sieht nur mit dem Herzen gut - das Wesentliche ist für das Auge unsichtbar...


www.mikel-mueller.de
www.sanitaertechnik-mueller.de

-------------------------------------
Mein Useralbum
MichaelM ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik > Traum-Scripts
Datumsberchnung - Differenz zwischen 2 Daten [Snippet] Datumsberchnung - Differenz zwischen 2 Daten
« Website Tags auslesen / zählen / zurückgeben | Zip-Klasse »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:44 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67