Datum von letzter Woche zeigen

ziriander

Erfahrenes Mitglied
Hallo Leute,

ich möchte das meine Datumsanzeige immer ein Datum anzeigt das z.B. 10 Tage zurückliegt. Für die normale Datumsanzeige verwende ich folgenden Script:

Code:
function howlong(arg) {
	if (length(arg)==1) {
		arg = "0" + arg;
		return arg;
		}
	else {
		arg = arg;
		return arg;
		}
	}
myDate = new Date();

dd = myDate.getDate();
mm = myDate.getMonth();
yyyy = myDate.getFullYear();


switch (mm) {
	case 0:		mm = "Januar";
				break;
	case 1:		mm = "Februar";
				break;
	case 2:		mm = "März";
				break;
	case 3:		mm = "April";
				break;
	case 4:		mm = "Mai";
				break		
	case 5:		mm = "Juni";
				break;
	case 6:		mm = "Juli";
				break
	case 7:		mm = "August";
				break
	case 8:		mm = "September";
				break
	case 9:		mm = "October";
				break
	case 10:	mm = "November";
				break
	case 11:	mm = "Dezember";
				break
	}

textdate = ( dd + ". " + mm + " " + yyyy)

Lässt sich dieser Script so verändern das er ein älteres Datum zeigt ?
Habe schon eine Weile danach gegoogelt, aber nichts gefunden. Ich hoffe ihr wisst Rat ...


Merci for help
ziriander
 
ich möchte das meine Datumsanzeige immer ein Datum anzeigt das z.B. 10 Tage zurückliegt.

PHP:
var timestampNow:Number = Date.parse(new Date()) / 1000; // Aktueller Timestamp

//Anzahl Tage
var days = 10;

var dayInSek = 24 * 3600; //24 std * 3600 Sek = anzahl der sek pro Tag
var daysInSek = days * dayInSek;
var timestampOld = timestampNow - daysInSek;

var theDate = new Date(timestampOld * 1000);  // mal 1000 da Date mit millisek arbeitet
trace("Datum vor "+days+" Tagen: "+ theDate);  //26 Nov
 
Hallo Denniz,

danke für den Script. Allerdings ist jetzt der Moment gekommen zu gestehen, dass ich nicht verstehe wie ich damit meinen Script ergänze. Könnte noch eine kleine Unterstützung gebrauchen.


ziriander
 
PHP:
var timestampNow:Number = Date.parse(new Date()) / 1000; // Aktueller Timestamp

//Anzahl Tage
var days = 10;

var dayInSek = 24 * 3600; //24 std * 3600 Sek = anzahl der sek pro Tag
var daysInSek = days * dayInSek;
var timestampOld = timestampNow - daysInSek;

var myDate = new Date(timestampOld * 1000);  // mal 1000 da Date mit millisek arbeitet

var dd = myDate.getDate();
var mm = myDate.getMonth();
var yyyy = myDate.getFullYear();

switch (mm) {
	case 0:		mm = "Januar";
				break;
	case 1:		mm = "Februar";
				break;
	case 2:		mm = "März";
				break;
	case 3:		mm = "April";
				break;
	case 4:		mm = "Mai";
				break		
	case 5:		mm = "Juni";
				break;
	case 6:		mm = "Juli";
				break
	case 7:		mm = "August";
				break
	case 8:		mm = "September";
				break
	case 9:		mm = "October";
				break
	case 10:	mm = "November";
				break
	case 11:	mm = "Dezember";
				break
	}

trace ( dd + ". " + mm + " " + yyyy)  // 26. November 2009
 
hm ? ...

seltsammerweise habe ich jetzt folgendes Datum: 22. Dezember 1969

ich habe deinen script übernommen und die Variable für das dynamische Textfeld ausgetauscht ("textdate" gegen "trace"). Das ging nicht.

Dann habe ich deine Zeile:

trace ( dd + ". " + mm + " " + yyyy)

in

trace = ( dd + ". " + mm + " " + yyyy)

verwandelt. Dabei kam das seltsamme Datum heraus.
 
Das Problem liegt in der dieser Zeile:
PHP:
var timestampNow:Number = Date.parse(new Date()) / 1000; // Aktueller Timestamp
Date.parse gibt es nur in AS3, da du anscheinend AS2 verwendest kommt bei dir ein Timestamp von 0 raus und nicht der aktuelle Timestamp. 0 ist der 1.1.970 ,wenn du nun 10 tage zurückrechnest erhälst du dein erwähntes Datum. ;)

Ändere die genannte Zeile für AS2 um:
PHP:
var timestampNow:Number = new Date().getTime() / 1000; // Aktueller Timestamp

Gruß

PS: trace ist eine Funktion mit der du ein Output im Ausgabefenster anzeigen lassen kannst. Verwende für dein Textfeld besser einen anderen Bezeichner.
 
ich hoffe ich überstrapaziere deine Geduld jetzt nicht allzu sehr ...

Wenn ich die Variable des Textfeldes umbenenne, woher weiß das Textfeld dann das es gemeint ist, das dort das Datum erscheinen soll.

Ich habe jetzt meine Fla (die mit FlashMX04 erstellt ist, also tatsächlich AS2) mal angehängt. Vielleicht bringt das etwas Licht in meine Dunkelheit...
 

Anhänge

  • Datum.fla
    43,5 KB · Aufrufe: 23
Wenn ich die Variable des Textfeldes umbenenne, woher weiß das Textfeld dann das es gemeint ist, das dort das Datum erscheinen soll.

in deinem Code muß dann natürlich die Variable verwendet werden.
PHP:
textdate =  dd + ". " + mm + " " + yyyy

Textfelder über die Varible ansprechen macht man seit AS1 nicht mehr.
Gibt dem Textfed einen Instanznamen und sprech diesen dann so zB an:
PHP:
//instanz.eigenschaft = wert
textdate.text =  dd + ". " + mm + " " + yyyy
 
Hallo Denniz,

also ich muss zugeben, dass ich nach 5 Jahren Flash-Pause doch mehr
vergessen habe als mir recht ist. Das letzte Mal gab es noch Flash 5, jetzt
ist alles anders.

Das heißt ich bekomme das tatsächlich nicht hin. Falls du also Erbarmen mit mir
hast ........ kannst du meine Datei so umschreiben das es funktioniert?


Gruß
 
Hi,

Ich habe die eine beispieldatei erstellt.
Deine fla von oben diente als Vorlage. Sieh dir mal den code sowie die Eigenschaften (im eigenschaftsfenster) für die Textfelder an.

Ich habe CS3 und kann daher nur bis Flash 8 exportieren.
Vielleicht wäre jemand so freundlich und hat Flash 8 installiert und kann diese Datei für Flash MX 2004 (Flash 7) speichern und hier wieder hochladen.
 

Anhänge

  • datum_f8.fla
    44 KB · Aufrufe: 25

Neue Beiträge

Zurück