Hilfe bei "var eventdate" countdown

Hi!

Ich habe jetzt meinen mit deinem Code ersetz und jetzt wird gar nichts mehr angezeigt :(

kann ich evtl einfch die Monate, die ja in deutsch ankommen, ins englische übersetzen? Denn August funktioniert jetzt ja, da kein unterschied zur englischen schreibweise...

Also mein Code:
Code:
<script type="text/javascript">// <![CDATA[
var eventdate = new Date("{events.END_TIME}:59 GMT");
d=new Date();
count=Math.floor((eventdate.getTime()-d.getTime())/1000);
count=Math.floor(count/(60*60*24));
document.write(count);
// ]]></script>

Ausgeben tut er nur die Tage - Bsp: 24
Mein Zeiformat: F j, Y H:i
Ausgabe: Juli 10, 2009 00:00

Status: Nur Termine im August werden mit Countdown dargestellt - alle anderen Monate ergeben NaN

Ich vermute also, dass es an den Monatsnamen liegt, die scheinbar "deutsch" ankommen und das Script damit nichts anfangen kann.

ALSO:
Muss ich denke ich mal die Monate übersetzen.

Meine "recherche" ergab, dass man sowas mit einem array regeln kann...
Leider hab ich keine Ahung wie. Bin noch blutiger Anfänger und alles was bisher hier steht beruht auf Vermutungen, bez. logischen Schlussfolgerungen von mir :D

lg
Bast- Art
 
Zuletzt bearbeitet:
Hi,

schau mal in Svens Funktion. Dort ist ein Objekt, in dem die Monatsnamen mit ihren zugehörigen Indizes stehen.
Code:
m={'Jan':0,'Feb':1,'Mar':2,'Apr':3,'May':4,'Jun':5,'Jul':6,'Aug':7,'Sep':8,'Oct':9,'Nov':10,'Dec':11}

Zunächst stellst du die Monatsformatierung wieder auf j. F Y, H:i zurück. Denn Svens regulärer Ausdruck ist hierfür ausgelegt.
Nun ersetzt du die Monatsnamen im Objekt wie sie ankommen und teste dann nochmal mit dem von mir geposteten Quellcode.

Ciao
Quaese
 
ich habe jetzt hin und her probiert, die monatsnamen geändert, verschiedene Zeitformate versucht, aber ich bekomme bei deinem script nie eine Ausgabe.
Es wird eifach nichts angezeigt.

wäre es so schwer, die monatsnamen von deutsch auf englisch zu bekommen?

lg
 
Hi,

wäre es so schwer das vorhandene Script anzupassen? Bei mir funktioniert es problemlos.

Aber gut, versuch es mal damit:
Code:
var objM = {'Januar': 'January', 'Februar': 'February', 'März': 'March', 'April': 'April',
            'Mai': 'May', 'Juni': 'June', 'Juli': 'July', 'August': 'August', 'September': 'September',
            'Oktober': 'October', 'November': 'November', 'Dezember': 'December'};
var strPat = /(Januar|Februar|März|April|Mai|Juni|Juli|August|September|Oktober|November|Dezember)/;
var strDate = "Juni 1, 2009 00:00:59 GMT";  // Aus (Format F j, Y H:i): "{events.END_TIME}:59 GMT"
strDate.match(strPat);
strDate = strDate.replace(RegExp.$1, objM[RegExp.$1]);
var eventdate = new Date(strDate);

d=new Date();
count=Math.floor((eventdate.getTime()-d.getTime())/1000);
count=Math.floor(count/(60*60*24));
document.write(count + " Tage");

Wie die Monatsnamen genau ankommen, wusste ich nicht. Ich bin wegen des grossen F davon ausgegangen, dass es sich um ausgeschriebene deutsche Monatsnamen handelt. Sollte dies nicht so sein, musst du sie im Objekt und im regulären Ausdruck entsprechend anpassen.

Ciao
Quaese
 
Hi!

Ich hatte es geändert und auch verschiedene Variationen mit dem Code porbiert. Es erfolgte nie eine Ausgabe.

Dein neuer Code geht aber perfekt :)
Habe aber in folgender Zeile
Code:
var strDate = "Juni 1, 2009 00:00:59 GMT";  // Aus (Format F j, Y H:i): "{events.END_TIME}:59 GMT"
Code:
"Juni 1, 2009 00:00:59 GMT" mit "{events.END_TIME}:59 GMT"
ersetzt.

Vielen Vielen Dank :)

Jetzt hätte ich aber noch eine Verständniss Frage:

Angenommen, ich möchte die Zeit irgendwann mal wieder umstellen auf j. F Y, H:i, wie passe ich dass dann im Code an? Mir ist bisher nicht klar, welche Stelle im Code das Datum setzt.

lg Bast.art
 

Neue Beiträge

Zurück