Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-08-2006, 16:27   #1 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Funktion um Kalenderwoche auszugeben

Hi ho!



Hab heute hier vergeblich nach einer Funktion gesucht, die die korrekte Kalenderwoche ausgibt. Leider bin ich nicht fündig geworden. Das Ganze ist nicht sooo einfach, da die KW etwas komplexer berechnet wird:

Zitat:
Die hier zugrunde liegende Definition der Kalenderwoche ist international festgelegt und wird in den meisten Ländern Europas auch verwendet. Daneben werden aber, insbesondere außerhalb Europas, auch andere Wochennummerierungen gebraucht. Mehr dazu ist in Abschnitt B.3 meiner Kalender-FAQ zu finden.

Falls Sie einfach nur zu einem Datum die Kalenderwoche wissen wollen, dann nutzen Sie einfach das unten stehende Formular zur Berechnung mit Javascript oder die umfangreichen Möglichkeiten meiner Seite mit verschiedenen Kalenderberechnungen.

Kalenderwochen beginnen mit dem Montag. Jede Woche gehört immer als ganze zu einem Kalenderjahr (es gibt keine halben Kalenderwochen), wodurch dann aber bestimmte Tag am Jahresanfang oder -ende zu einem anderen Jahr gehören können als ihre Kalenderwoche. Da Kalenderjahre ein oder zwei Tage mehr haben als die 364 Tage, die genau 52 Wochen entsprächen, haben die meisten Jahre 52, manche aber 53 Kalenderwochen.

Die Kalenderwochen eines Jahres werden beginnend mit der Woche gezählt, in der der 4. Januar des jeweiligen Jahres liegt. Das ist, wie man leicht zeigen kann, zugleich die Woche, in der der erste Donnerstag des Jahres liegt.
Quelle: http://www.salesianer.de/util/kalwoch.html



Von dort hab ich auch das Java-Script genommen und etwas angepasst. Hier also die fertige Funktion für alle, die wie ich hier vergebens rumsuchen

PHP-Code:
//FUNKTIONEN
function kalenderwoche(datum){
    if(
datum){
        
Datum datum
        Datum 
Datum.split(".");
        
tag1 Datum[0];
        
mon1 Datum[1];
        
yea1 Datum[2];
        
Datum = new Date(yea1,mon1-1,tag1);
    } else {
        
Datum = new Date();
        }
    

    
DoDat=donnerstag(Datum);
    
kwjahr=DoDat.getFullYear();
    
DoKW1=donnerstag(new Date(kwjahr,0,4));
    
kw=Math.floor(1.5+(DoDat.getTime()-DoKW1.getTime())/86400000/7);
    return 
kw;
}

function 
donnerstag(datum) {
  var Do=new 
Date();
  Do.
setTime(datum.getTime() + (3-((datum.getDay()+6) % 7)) * 86400000);
  return Do;
}
// FUNKTIONEN ENDE

trace(kalenderwoche("01.01.2006")); // Ergibt korrekt 52
trace(kalenderwoche()); //zeigt die aktuelle Kalenderwoche 



Gruß,
Dwarf
djdwarf ist offline   Mit Zitat antworten
Alt 26-08-2006, 16:18   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
"..Hab heute hier vergeblich nach einer Funktion gesucht.."

???
suche 'kalenderwoche' ergibt 16 gefundene beiträge.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 28-08-2006, 14:27   #3 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Ja, aber die funtkionieren allesamt nicht mit der korrekten Umrechnung bzgl. der Donnerstage. Korrigiere micht bitte, falls ich mich irre.
djdwarf ist offline   Mit Zitat antworten
Alt 28-08-2006, 15:50   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
a) nett dass du trotz allem deinen script veröffentlicht hasst

b) habe jetzt nicht alle scripte persönlich getestet (ausser meinem eigenen :-)

http://www.seibsprogrammladen.de/fra...gorithmen/Date
Kalenderwoche
habe das mit 15 alten terminkalendern überprüft. stimmt!?
und die funktion habe ich nicht selbst erfunden - sondern auch nur abgekupfert ;-) also wieso sollten die anderen falsch sein?
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 28-08-2006, 16:22   #5 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Oh, dann hab ich da was falsch gemacht. Hatte beim testen eigentlich immer falsche Ergebnisse raus. Also halt z.B. "01.01.2006" ergab KW 1, was ja nicht stimmt. Ist ja nämlich KW 52 aus dem Vorjahr.

Dann muss ich da einen Fehler gemacht haben. Entschuldige mich dafür Dann ist das hier einfach nur noch ein weiteres Script, das die KW ausgiebt *peif* *träller*



Gruß,
Dwarf
djdwarf ist offline   Mit Zitat antworten
Alt 15-12-2008, 14:26   #6 (permalink)
.:: jim morassnik ::.
 
Benutzerbild von rassnik
 
Registriert seit: Jul 2002
Ort: Stuttgart
Beiträge: 1.012
hi,
genau das brauche ich. allerdings nicht in bezug auf die lokale, sondern die serverzeit. einen guten ansatz habe ich (neben dieser seite) hier gefunden:

http://www.tutorials.de/forum/flash/...r-stellen.html

leider bekomme ich diese beiden techniken nicht miteinander verwurstet. ich weiß das "fertiglösungen" nicht gerne präsentiert werden, aber ich komme seit zig stunden nicht einen funken weiter.

danke,
rassel
rassnik ist offline   Mit Zitat antworten
Alt 15-12-2008, 15:00   #7 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.322
Servertime für Abfrage verwenden

woher du das datum hast ist dem rechner egal.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 15-12-2008, 16:09   #8 (permalink)
.:: jim morassnik ::.
 
Benutzerbild von rassnik
 
Registriert seit: Jul 2002
Ort: Stuttgart
Beiträge: 1.012
das versuch ich mal - danke!
rassnik 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 13:49 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele