Autor Thema: Wieviel KW im Jahr?  (Gelesen 4436 mal)

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Wieviel KW im Jahr?
« am: 26.09.07 - 14:07:51 »
Hallo,

Ich hab mich jetzt schon ein wenig gespielt bin aber leider nicht auf eine Lösung gekommen auf die ich mich verlassen kann! Ich glaube ich denke da einfach um die Ecke.

Ich würde gerne wissen, wieviele Kalenderwochen ein Jahr hat (berechnet zb. @Year(@Today) )
Das ganze würde ich dann in ein Combobox Feld hinterlegen. Als Auswahl 1-52 oder 53.

Als weitern Schritt, würde ich dann per Script auf das Feld zugreifen und mir den ersten Tag und den letzten Tag der ausgewählten Woche ausgeben lassen wollen.

Hat das schon mal jemand gemacht?

danke Robert
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Wieviel KW im Jahr?
« Antwort #1 am: 26.09.07 - 14:11:18 »
Ja.

Die Frage ist: "Wie lautet Deine Frage?"

http://de.wikipedia.org/wiki/Kalenderwoche#Kalenderwoche sowie die Forumssuche helfen auf jeden Fall weiter.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline pete_bla

  • Senior Mitglied
  • ****
  • Beiträge: 455
  • Geschlecht: Männlich
  • dot net gitz net!
Re: Wieviel KW im Jahr?
« Antwort #2 am: 26.09.07 - 14:12:10 »
Hi,

wer sucht der findet!

http://atnotes.de/index.php?topic=20457.0
oder einfach nach "Kalenderwoche" hier im Forum suchen!

Viel Erfolg, Pete(r)
pete(r)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Wieviel KW im Jahr?
« Antwort #3 am: 26.09.07 - 14:12:42 »
Ja. Siehe    
[LotusScript, Formelsprache]: Kalenderwoche: Berechnung mit Formeln und LS
(den Autor kenne ich persönlich  ;D).

Bernhard

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Wieviel KW im Jahr?
« Antwort #4 am: 26.09.07 - 14:14:03 »
Ja. Siehe    
[LotusScript, Formelsprache]: Kalenderwoche: Berechnung mit Formeln und LS
(den Autor kenne ich persönlich  ;D).

Bernhard
Der soll sich auch mit Kalenderfunktionen recht gut auskennen, hab ich gehört.  ;) :D
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re: Wieviel KW im Jahr?
« Antwort #5 am: 26.09.07 - 14:19:06 »
Hallo,

Nein meine Frage lautet aus wievielen Kalenderwochen besteht das Jahr!! Nicht welche Kalenderwoche haben wir gerade! Und ich kenne das Script und @Formula von Bernhard.

Ich kann nicht einfach hergehen und schauen welche Kalenderwoche hat der 31.12 zb weil einmal ist es 52 und einmal 53 und einmal sogar 1.

Also führt das ja nicht zur Lösung!
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

klaussal

  • Gast
Re: Wieviel KW im Jahr?
« Antwort #6 am: 26.09.07 - 14:21:29 »
Aber ich kann ja hingehen und sagen: heute ist der 01.01.XX = welche KW ist das und anschliessend heute ist der 31.12. XX = welche KW ist das und die Differenz ist dann die Anzahl.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Wieviel KW im Jahr?
« Antwort #7 am: 26.09.07 - 14:23:27 »
Du kannst schon vom 31.12. ausgehen. Ist die KW < 52, dann subtrahierst Du vom 31.12. den Wochentag und bist in der höchsten KW des jeweiligen Jahres.

Bernhard

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Wieviel KW im Jahr?
« Antwort #8 am: 26.09.07 - 14:23:42 »
ob der 31.12. in der KW im neuen Jahr liegt oder nicht hängt davon ab auf welchen Wochentag der 31.12 fällt.
Wenn Weekday < 5, dann KW 1
Gruß
Dirk

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re: Wieviel KW im Jahr?
« Antwort #9 am: 26.09.07 - 14:26:53 »
@klaus: deine Vorschlag führt leider nicht zum Ziel:

01.01.2007 = KW1 2007
31.12.2007 = KW1 2008

------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Wieviel KW im Jahr?
« Antwort #10 am: 26.09.07 - 14:29:08 »
Zitat
Ein Jahr hat genau dann 53 Kalenderwochen, wenn es mit einem Donnerstag beginnt oder endet
http://de.wikipedia.org/wiki/Kalenderwoche#Kalenderwoche
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re: Wieviel KW im Jahr?
« Antwort #11 am: 26.09.07 - 14:33:24 »
Würde es dann reichen zu kontrollieren ob:

@Weekday@Date(@Year(@Today); 1;1) = 5;
oder
@Weekday@Date(@Year(@Today); 12;31) = 5;
Wenn ja dann 53 sonst 52?

Zitat
Das kommt die nächsten 20 Jahr eigentlich eh nur 1mal vor 2009

« Letzte Änderung: 26.09.07 - 14:35:54 von robertpp »
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Wieviel KW im Jahr?
« Antwort #12 am: 26.09.07 - 14:38:09 »
Ja, das reicht.

Bernhard

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re: Wieviel KW im Jahr?
« Antwort #13 am: 26.09.07 - 14:45:42 »
Danke,

und jetzt noch der umgekehrte Weg:

Wenn ich dann zb. KW 39 auswähle, wie komm ich dann per Script zurück auf das aktuelle Startdatum der Woche also Weekday=1?

Ich hab folgendes Script gefunden:
Code
Function Datum_KW(nKW As Integer, nYear As Integer) As Date

  On Error GoTo Err_Datum_KW
 
  Dim d As Integer
  Dim vDate  As Date
 
  vDate = "01.01." & CStr(nYear)
  For d = 0 To 6
    If Format(vDate + d, "ww", vbMonday, vbFirstFourDays) = 1 Then
      Datum_KW = vDate + d + (nKW - 1) * 7 - 2
      Datum_KW = Datum_KW - (Weekday(Datum_KW, vbMonday) - 1)
    End If
  Next d
  Exit Function

Err_Datum_KW:
  MsgBox Err.Description
End Function

Sieht da jemand ein Problem, außer das es noch an Notes angepasst werden muss, oder sollte das funktionieren?

Danke robert

------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline robertpp

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 940
  • Geschlecht: Männlich
Re: Wieviel KW im Jahr?
« Antwort #14 am: 26.09.07 - 20:33:24 »
Ich möchte meine Lösung niemanden vorenthalten:

Code
	Msgbox Datum_KW(39,2007)

Code
Function Datum_KW(Woche As Integer, Jahr As Integer)
	Dim intTag As Integer, intWoche As Integer
	If Jahr = 0 Then
		Datum_KW = 0
		Exit Function
	End If
	intTag = 1
	intWoche = KalenderWoche(Datenumber(Jahr, 1, 1))
	If intWoche <> 1 Then
		Do Until KalenderWoche(Datenumber(Jahr, 1, intTag)) = 1
			intTag = intTag + 1
		Loop
	Else
		Do Until KalenderWoche(Datenumber(Jahr, 1, intTag)) <> 1
			intTag = intTag - 1
		Loop
		intTag = intTag + 1
	End If
	Datum_KW = Datenumber(Jahr, 1, intTag) + (Woche - 1) * 7
End Function

Code
Function KalenderWoche(Datum As String) As Integer
	Dim tmp As Double
	Dim dDay As NotesDateTime
	Dim dDaytemp As NotesDateTime
	Set dDay = New NotesDateTime(Datum)
	Set dDaytemp =New NotesDateTime(Datum)
	Call dDay.AdjustDay((8 - Weekday(dDay.DateOnly)) Mod 7  - 3)
	tmp = Datenumber(Year(dDay.DateOnly), 1, 1)
	KalenderWoche = ((Cdat(dDaytemp.DateOnly)) - (Cdat(tmp - 3 + (Weekday(tmp) +1) Mod 7))) / 7 + 1
End Function

Vielleicht geht es einfacher auch! Aber es funktioniert! So ermittle ich anhand der KW den ersten Tag in der Woche.

gruss robert
------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Wieviel KW im Jahr?
« Antwort #15 am: 26.09.07 - 20:43:36 »
Es geht einfacher (über die eindeutige Bedingung, wann es 53 Kalenderwochen gibt).

Aber: Der Function Kalenderwoche übergibst Du ein Date-/Time-Variant, dieses erwartet aber einen String. Das passt nicht. Abgesehen davon: Man sollte nie niemals nicht Datumswerte (oder Zahlen) in Strings speichern, übergeben oder verarbeiten, es sei denn, dies ist nur für Frontend-Anzeigen gedacht oder lässt sich wegen strenger Nebenbedingungen gar nicht vermeiden. Man erspart sich dadurch möglichen enormen Ärger.

Bernhard

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Wieviel KW im Jahr?
« Antwort #16 am: 27.09.07 - 08:08:34 »
Und hier noch ein bischen was zum Thema Kalender generell
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz