Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-03-2006, 20:39   #1 (permalink)
meutz
 
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 43
aktuelle Woche ermitteln - Date-Objekt

Hallo,

weiß jemand von Euch, wie ich an die aktuelle Woche im Jahr komme?
Also z.B. im Moment die 12. Woche. Hab beim Date-Objekt nichts dazu gefunden. Selber die Woche berechnen schreckt mich doch was ab. Das wird ja megakompliziert, oder bin ich grad nur was verpeilt?
claudiato ist offline   Mit Zitat antworten
Alt 23-03-2006, 20:57   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
PHP-Code:
var monat =new Date().toString().split(" ")[1];
trace(monat
// Wenns schöner ausschaun soll!
PHP-Code:
var mArray:Array=["Januar""Februar""Maerz""April""Mai""Juni"
                  
"Juli""August""September""Oktober""November""Dezember"];
var 
monat =new Date().getMonth();
trace(mArray[monat]) 
Ooops, hehe hab ich falsch gelesen, woche nicht monat
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"

Geändert von RustyCake (23-03-2006 um 21:03 Uhr)
RustyCake ist offline   Mit Zitat antworten
Alt 23-03-2006, 20:59   #3 (permalink)
Pharao a.D.
 
Benutzerbild von Tut-ench-aton
 
Registriert seit: Jul 2004
Ort: 29°58'33.34'' N, 31°07'49.29'' O
Beiträge: 430
Hallo Claudatio,

Wenn du mal bei wikipedia unter "Woche" nachschaust, siehst du, dass die Berechnung der Kalenderwoche eine ziemlich komplizierte Sache sit, und verschieden angegangen wird. Das beginnt schon mit den verschiedenen Ansichten, welche die erste Kalenderwoche des Jahres ist. Hab hier mal eine Formel, die aber noch in Flash umgeschrieben werden muss
Zitat:
Die folgende VBA-Funktion (Visual Basic für Applikationen) liefert die Kalenderwoche für ein Datum nach deutschem Standard:

Function dt_Kalenderwoche(dat As Date) As Integer
Dim a As Integer
a = Int((dat - DateSerial(Year(dat), 1, 1) + _
((WeekDay(DateSerial(Year(dat), 1, 1)) + 1) Mod 7) - 3) / 7) + 1
If a = 0 Then
a = dt_Kalenderwoche(DateSerial(Year(dat) - 1, 12, 31))
ElseIf a = 53 And (WeekDay(DateSerial(Year(dat), 12, 31)) - 1) _
Mod 7 <= 3 Then
a = 1
End If
dt_Kalenderwoche = a
End Function
@RustyCake: Das zeigt nur den Monat an, bzw. wolltest du bestimmt [2], das zeigt den Tag an, aber im Datumsobjekt ist keine KW drin.

Geändert von Tut-ench-aton (23-03-2006 um 21:04 Uhr)
Tut-ench-aton ist offline   Mit Zitat antworten
Alt 23-03-2006, 21:00   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Eine Möglichkeit:
PHP-Code:
function getCurrentWeek():Number {
    
    var 
today:Date = new Date();
    var 
daysPerMonth:Array = [312831303130313130313031];
    
    var 
i:Number = -1;
    var 
daysElapsed:Number 0;
    
    while ( ++
today.getMonth() ) {
        
daysElapsed += daysPerMonth[i];
    }

    return 
Math.ceil( (daysElapsed += today.getDate()) / 7);
}

tracegetCurrentWeek() ); // --> 12 
Edit:
...war zu viel des guten...

Geändert von sonar (23-03-2006 um 21:08 Uhr)
sonar ist offline   Mit Zitat antworten
Alt 23-03-2006, 21:11   #5 (permalink)
meutz
 
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 43
Danke
da werd ich gleich mal sehn, wie ich das hin krieg.
Schönen abend noch...
claudiato ist offline   Mit Zitat antworten
Alt 24-03-2006, 03:35   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
Code:
function fKalenderWoche(_d0) {
	var tag = 86400000;
	var _d1 = new Date(_d0.getTime()+(3-(_d0.getDay()+6)%7)*tag);
	var _d2 = new Date(_d1.getFullYear(), 0, 4);
	var _d3 = new Date(_d2.getTime()+(3-(_d2.getDay()+6)%7)*tag);
	return Math.floor(1.5+(_d1.getTime()-_d3.getTime())/tag/7);
}
//
for (var _jahr = 2001; _jahr<=2010; _jahr++) {
	var _txt = "Im Jahr "+_jahr+" beginnt die 1. Woche am: ";
	var _tag = 0;
	while (++_tag) {
		if (fKalenderWoche(new Date(_jahr, 0, _tag)) == 1) {
			trace(_txt+_tag+(_tag == 1 ? ".sten" : ".ten")+" Tag");
			break;
		}
	}
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

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

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 06:56 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele