tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von Sven Mintel
  • 1 Beitrag von gordonk
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
329
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Wadlschrat
    Wadlschrat Wadlschrat ist offline Mitglied Silber
    Registriert seit
    Feb 2007
    Beiträge
    65
    Ich will die Differenz zwischen 28.09.2009 00:00:01 und 18.01.2010 23:59:59 wie folgt ermitteln:

    PHP-Code:
    $dateIndate(mktime(0019282009));
    $dateOutdate(mktime(2359591182010));
    echo
    "<br/>von ".date("d.m.y",$dateIn)."<br/>bis ".date("d.m.y",$dateOut);
    echo
    "<br/>Tage: ".($dateOut-$dateIn)/24/3600
    Ausgabe:
    von 28.09.09
    bis 18.01.10
    Tage: 113.04164351852
    Ist der Ansatz grundsätzlich Käse? SM Excel kommt z.B. auf 112,9999769 Tage. Hab selbst mal gezählt und komme auch auf auf das zweite Ergebnis.
     
    Wer im Steinkreis sitzt, sollte sich vor Druiden hüten.

  2. #2
    Avatar von CookieBuster
    CookieBuster CookieBuster ist offline <?= "Hello World" ?>
    Registriert seit
    Sep 2008
    Ort
    Münsingen (BW)
    Beiträge
    420
    Blog-Einträge
    4
    Lass einmal die date-Funktion weg. Wenn du zwei Timestamps wie sie von mktime zurückgegeben werden voneinander Subtrahierst dürfte dein Vorhaben funktionieren.

    Formatiere erst die Ausgabe entsprechend.
     
    There are only 10 types of people in the world — those who understand binary, and those who don't.

    Mach mal einer das Licht an, ich hör nix!

    Why is 6 afraid of 7? Because 7 8 9.

  3. #3
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Wie CookieBuster schon sagt, die oberen beiden Aufrufe von date() bringen nichts.

    Grundsätzlich vermute ich den Fehler dort, dass SM Excel mit mehr Stellen rechnet als PHP und dadurch eine andere Zahl herauskommt....

    Wenn du beides rundest, landest du aber bei beiden bei 113 Tagen

    Eventuell willst du auf präzisere Funktionen zurückgreifen...

    BC Math
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  4. #4
    Avatar von Wadlschrat
    Wadlschrat Wadlschrat ist offline Mitglied Silber
    Registriert seit
    Feb 2007
    Beiträge
    65
    Danke für Eure schnelle Antwort. Hab beide Vorschläge versucht:

    PHP-Code:
    echo"<br/>".((mktime(2359591182010)-mktime(0019282009))/24/3600);
    bcscale(20);
    echo
    "<br/>".(bcdiv(bcsub(mktime(2359591182010),mktime(0019282009)),86400)); 
    Das Ergebnis ändert sich nicht. Microsoft darf nicht gewinnen.
    Was jetzt?
     
    Wer im Steinkreis sitzt, sollte sich vor Druiden hüten.

  5. #5
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Mmmh, sowohl mein Windows-Rechner als auch mein alterwürdiger batteriebetriebener kommen bei 9766798/24/3600 auf 113.04164...... ....und letzterer hat bestimmt keinen Pentium drinnen

    Ich würde mal tippen, dass der Fehler
    1. bei Excel und
    2. nicht in der Berechnung, sondern im Zellenformat
    zu suchen ist.

    Excel arbeitet dort ja nicht mit einem UNIX-Timestamp, sondern speichert bei Datums-Zellen die Anzahl der vergangenen Tage seit 1.1.1900 , was natürlich weitaus ungenauer ist als ein UNIX-Timestamp
     

  6. #6
    Avatar von Wadlschrat
    Wadlschrat Wadlschrat ist offline Mitglied Silber
    Registriert seit
    Feb 2007
    Beiträge
    65
    Da beides Montage sind, ergibt sich als Differenz genau 16 Wochen oder 112 Tage plus der zusätzlichen Stunden und Minuten aus der Uhrzeitdifferenz (d.h. 24 Stunden minus der 2 Sekunden). Also sind das knapp 113 Tage (112,99...) aber eben auf keinen Fall mehr als 113 Tage.
     
    Wer im Steinkreis sitzt, sollte sich vor Druiden hüten.

  7. #7
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Zitat Zitat von Wadlschrat Beitrag anzeigen
    Da beides Montage sind, ergibt sich als Differenz genau 16 Wochen oder 112 Tage plus der zusätzlichen Stunden und Minuten aus der Uhrzeitdifferenz (d.h. 24 Stunden minus der 2 Sekunden). Also sind das knapp 113 Tage (112,99...) aber eben auf keinen Fall mehr als 113 Tage.
    Jo, und zwischendurch wird 1x die Uhr zurückgestellt
    Wadlschrat bedankt sich. 

  8. #8
    gordonk gordonk ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Witten/NRW
    Beiträge
    219
    richtig, die Uhr wird zurückgestellt

    Die nächste Zeitumstellung ist am
    Sonntag, den 25.10.2009 um 3:00 Uhr

    Die Uhren werden dann um 1 Stunde zurückgestellt, die Nacht ist also eine Stunde länger.
    Dabei findet der Wechsel von der Sommerzeit in die Winterzeit statt.

    PHP-Code:
    $dateIndate(mktime(0019282009));
    $dateOutdate(mktime(2359591182010));
    echo
    "<br/>von ".date("d.m.y",$dateIn)."<br/>bis ".date("d.m.y",$dateOut);
    echo
    "<br/>Tage: ".($dateOut-$dateIn-3600)/24/3600// hier 1 Stunde abziehen 
    Ergebnis: 112.999976852
    Wadlschrat bedankt sich. 

  9. #9
    Avatar von Wadlschrat
    Wadlschrat Wadlschrat ist offline Mitglied Silber
    Registriert seit
    Feb 2007
    Beiträge
    65
    Verdammt! Wer denkt denn an sowas. Also außer Euch und Windows. Danke.
     
    Wer im Steinkreis sitzt, sollte sich vor Druiden hüten.

Ähnliche Themen

  1. SQL/Oracle date/time -> suche Date
    Von Goldman im Forum .NET Café
    Antworten: 0
    Letzter Beitrag: 20.05.09, 15:28
  2. [C#] Access DATE != DataGridView DATE ? + Daten ändern, aber wie?
    Von Blackhawk50000 im Forum .NET Windows Forms
    Antworten: 22
    Letzter Beitrag: 31.07.08, 16:26
  3. FSB für Pentium 4
    Von Erpel im Forum Hardware
    Antworten: 8
    Letzter Beitrag: 18.07.03, 19:32
  4. pentium 4 vs pentium 4m
    Von Andrew im Forum 3D Studio Max
    Antworten: 2
    Letzter Beitrag: 18.05.02, 20:02
  5. pentium 4 vs pentium 4m
    Von Andrew im Forum Hardware
    Antworten: 0
    Letzter Beitrag: 18.05.02, 11:07

Stichworte