php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.02.2005, 13:43  
Gast
 
Beiträge: n/a
Standard statt javascript new Date(); lieber mit php date

Hi Leute ich habe für mein Frankreich-Projekt einen Countdown auf javascript basis downgeladen. Nun habe ich das Problem, dass er für die Berechnung der restlichen Zeit die Zeit des Users nimmt(, dass zu Problemen führen kann, falls die richtige Zeit vom User nicht eingestellt wurde).
Deshalb wollte ich anstatt new Date(); einfach <?= date("D F d Y G:i:s TO")?> nehmen. Leider habe ich ein Problem bei der Formatierung und ich weiss leider nicht was ich ändern muss, damit der Countdown auch mit dem php-date läuft. Würde mich freuen, wenn ihr mir helfen könntet.


Hier das JavaScript(auf die 6.Zeile bitte achten):
Code:
// Ziel-Datum in MEZ
      var jahr=2005, monat=3, tag=14, stunde=6, minute=0, sekunde=0;
      var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);

      function countdown() {
     startDatum=new Date();

        // Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
        if(startDatum<=zielDatum)  {

          var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;

          // Restliche Tage zum Monatsende ermitteln
          var restTage=0;
          var m=startDatum.getMonth();
          if(m==1-1|| m==3-1||m==5-1||m==7-1||m==8-1||m==10-1||m==12-1)
              restTage=31-startDatum.getDate();
          else if(m==4-1|| m==6-1||m==9-1||m==11-1) restTage=30-startDatum.getDate();
          else if(m==2-1) {
            if(startDatum.getFullYear()%4==0 && (startDatum.getFullYear()%100!=0
                || startDatum.getFullYear()%400==0))
                    restTage=29-startDatum.getDate(); // Schaltjahr
            else restTage=28-startDatum.getDate();
          }

          // Start- und Ziel-Tag merken und auf 1 setzen
          var startTag=startDatum.getDate();
          var zielTag=zielDatum.getDate();
          startDatum.setDate(1);
          zielDatum.setDate(1);

          // Monate
          if(startDatum<zielDatum) {
            while(startDatum<zielDatum) {
              if(startDatum.setMonth(startDatum.getMonth()+1)<=zielDatum) monate++;
            }
            startDatum.setMonth(startDatum.getMonth()-1);
          }

          // Tatsächlichen Start- und Ziel-Tag berücksichtigen
          if(startDatum.getMonth()==zielDatum.getMonth()) {
            if(startTag<=zielTag) startDatum.setDate(startTag);
            else {
              monate--;
              tage=restTage+1;
            }
          }
          else {
            startDatum.setMonth(startDatum.getMonth()+1);
            if(startTag>=zielTag) tage=restTage+1;
            else {
              monate++;
              startDatum.setDate(startTag);
            }
          }
          zielDatum.setDate(zielTag);

          // Tage
          restTage=Math.floor((zielDatum-startDatum)/(24*60*60*1000));
          startDatum.setTime(startDatum.getTime()+restTage*24*60*60*1000);
          tage+=restTage;

          // Stunden
          stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
          startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);

          // Minuten
          minuten=Math.floor((zielDatum-startDatum)/(60*1000));
          startDatum.setTime(startDatum.getTime()+minuten*60*1000);

          // Sekunden
          sekunden=Math.floor((zielDatum-startDatum)/1000);

          // Anzeige formatieren
          (tage!=1)?tage=tage+" Tage,  ":tage=tage+" Tag,  ";
          (stunden!=1)?stunden=stunden+" Stunden,  ":stunden=stunden+" Stunde,  ";
          (minuten!=1)?minuten=minuten+" Minuten  und  ":minuten=minuten+" Minute  und  ";
          if(sekunden<10) sekunden="0"+sekunden;
          (sekunden!=1)?sekunden=sekunden+" Sekunden":sekunden=sekunden+" Sekunde";

          document.countdownform.countdowninput.value=
              "Noch "+tage+stunden+minuten+sekunden;

          setTimeout('countdown()',200);
        }
        // Anderenfalls alles auf Null setzen
        else document.countdownform.countdowninput.value=
            "";
      }
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.02.2005, 15:22  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Also laut selfHTML muss diese Form verwendet werden:
Code:
Objektname = new Date("Monat Tag, Jahr Stunden:Minuten:Sekunden");
Das wäre dann als PHP:
Code:
<?php echo date('m d, Y H:i:s'); ?>
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline  
Alt 23.02.2005, 15:37  
Erfahrener Benutzer
 
Registriert seit: 01.12.2003
Beiträge: 4.113
supertramp
Standard

helfen würde hier auch ein Blick in das Handbuch auf www.php.net
in diesem Falle: www.php.net/date



Der Beitrag wurde verschoben, wegen...
... Postings im falschen Forum.

Bemerkung:
Bei Einspruch bitte an mich wenden.

moved to PHP - Anfänger
__________________
Aufstrebend, kompetent und werbefrei.
www.developers-guide.net
supertramp ist offline  
Alt 26.02.2005, 16:26  
Gast
 
Beiträge: n/a
Standard

keine Sorge nicht umsonst haette ich meine frage zu den fortgeschrittenen gestellt, wenn die lösung so einfach wäre

also weiss keiner wie ich nen javascript countdown entwickeln kann, der die zeit vom phpserver nimmt und dann runterzählt? wäre für jede hilfe dankbar

mfg
theonkel
 
Alt 26.02.2005, 22:26  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Aber hallo, das haben wir doch gerade gemacht.
Du musst deine Zeile hier:
Code:
startDatum=new Date();
doch nur durch meine Ersetzen:
Code:
startDatum = new Date("<?php echo date('m d, Y H:i:s'); ?>");
Das selbe gilt für zielDatum, ggf. mit mktime().
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline  
Alt 27.02.2005, 16:55  
Gast
 
Beiträge: n/a
Standard

hmmm also ich habs geschafft bis zur subtraktion zu kommen, problem beim mktime() zb. ist, dass er bei rechnung jahr2005-2005 nicht 0 sondern 1970 ausgibt. ich habe mal das zusammen gebacken, ich komme aber imme rnoch nichts auf die rästelslösung:
Code:
       $zeit1 = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")) - mktime(0,30,0,0,3,2005);
       echo "Zeit:".date('H i s m d Y',$zeit1)."
";
mache ich denn irgendwas so fatal falsch??? hoffe auf eine (ausführlichere) antwort
mfg
theonkel
 
 


Themen-Optionen
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
JavaScript: 01.01.07 bis 31.12.07 = 334 Tage??? Curanai HTML, Usability und Barrierefreiheit 5 01.11.2007 14:12
http user mit Javascript abfrage tennessee HTML, Usability und Barrierefreiheit 3 31.10.2006 13:18
Javascript von Smileys und Buttons wie B U I ändern... mickschen HTML, Usability und Barrierefreiheit 10 07.06.2006 15:56
PHP + Javascript + MYSQL socke PHP Tipps 2006 4 02.04.2006 22:02
Ist JavaScript OOP sinnvoll? HStev HTML, Usability und Barrierefreiheit 2 26.01.2006 12:11
Variable wird geändert bei Übergabe an Javascript PHP Tipps 2007 4 17.12.2005 16:53
Einfach Datepicker gesucht Cyberbob_at_tot PHP Tipps 2007 5 14.11.2005 09:10
2 javascript fragen Rotti HTML, Usability und Barrierefreiheit 4 03.08.2005 11:40
[Erledigt] Mouseover Menü in Javascript und PHP Lösung ? PHP Tipps 2005-2 4 20.07.2005 08:48
JavaScript & PHP (Bilderupload) PHP-Fortgeschrittene 5 11.07.2005 17:08
Wert des Attributs "class" mit JavaScript dynamisc Stümper HTML, Usability und Barrierefreiheit 1 08.09.2004 10:33
JavaScript in JavaScript geschriebene Html-Datei einbinden. woods HTML, Usability und Barrierefreiheit 6 06.09.2004 18:33
Javascript HTML, Usability und Barrierefreiheit 5 31.08.2004 18:30
php + Javascript, Variablenübergabe PHP Tipps 2004 14 28.07.2004 15:42

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php date, javascript new date php, php new date, newdate() php, php new date(), javascript new date setzen stunde minute, php date countdown, php homepage mktime mez, <?php $tage = (date(\m\) == 12)?33 - date(\d\):1; ?>, new date(\<? echo date(\m d, y h:i:s\); ?>\)

Alle Zeitangaben in WEZ +1. Es ist jetzt 18:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.