Autor Thema: Datum für Ansicht formatieren  (Gelesen 2430 mal)

Offline braincrusha

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
  • Absoluter Newbie... und ich schäm mich nichtmal ;)
Datum für Ansicht formatieren
« am: 12.03.04 - 16:21:17 »
Ich habe ein Feld in dem ein Datum hinterlegt ist. Dieses Datum brauch ich in einer meiner Ansichten. Also nach diesem Datum sollen sie sich ordnen. Vorher sollte das datum aber umgeändert werden in die Woche des Jahres..

Also statt 1.1.2004 soll nur noch 1 da stehen..

ich hab es mit der Formatfunktion probiert in allen möglichen Variationen da ich nicht viel in der Hilfe darüber gefunden.

Wäre über jede Hilfe dankbar

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Datum für Ansicht formatieren
« Antwort #1 am: 12.03.04 - 16:27:27 »
@Word(DatumsFeld;".";1)
oder wenn es ein Datumsfeld ist (Typ)

@Day (Datumsfeld)


ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen, ich werdeLesen lernen,
« Letzte Änderung: 12.03.04 - 16:42:48 von eknori »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Datum für Ansicht formatieren
« Antwort #2 am: 12.03.04 - 16:33:44 »
@Ulrich: Lesen bildet   ;D

@braincrusha: Wie wäre es, wenn Du die Suche benutzen würdest ? "Kalenderwoche" bringt Dich sofort zum Ergebnis !

Bernhard

Offline braincrusha

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
  • Absoluter Newbie... und ich schäm mich nichtmal ;)
Re:Datum für Ansicht formatieren
« Antwort #3 am: 12.03.04 - 16:36:58 »
ich glaub ich wurde Missverstanden.

Es sollte nicht ersetzt werden oder nur der Tag oder der Monat dort stehen sondern die Woche des Jahres.

Also bei 1.1.2004 ne 1 weil es die erste Woche im Jahr ist bei 8.1.2004 dann ne zwei weil es die zweite Woche im Jahr ist.

etc

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Datum für Ansicht formatieren
« Antwort #4 am: 12.03.04 - 16:44:11 »
REM {This formula satisfies ISO 8601:1988};
REM {Formulae updated : 08.28.1997 };
REM {by Stephen P.R. Renton (sprenton@mcmail.com)};
REM {Version: 1.01};
REM {Tested on : Lotus Notes Release 4.5};

REM {D is the date of interest.};
D := @TextToTime(@Prompt([OkCancelEdit]; "Enter Date"; "Please enter a date to convert to a week number:"; ""));
REM {D := [31/12/95]};

FirstOfYear := @Date(@Year(D); 1; 1);
LastOfYear := @Date(@Year(D); 12; 31);
FirstDayNum := @Weekday(FirstOfYear);
LastDayNum := @Weekday(LastOfYear);

REM {ISO weeks start on Monday and ends on Sunday.};
ISOFirstDayNum := @If(FirstDayNum = 1; 7; FirstDayNum - 1);
ISOLastDayNum := @If(LastDayNum = 1; 7; LastDayNum - 1);

REM {The first and last ISO week is the first};
REM {and last ISO week to include Thursday};
IsFirstWeek := 7 - ISOFirstDayNum > 2;
IsLastWeek := 7 - ISOLastDayNum < 4;
REM {The date of the first day of the first ISO week};
ISOFirstDay := @If(IsFirstWeek;
            @Adjust(FirstOfYear; 0; 0; 1 - ISOFirstDayNum; 0; 0; 0);
            @Adjust(FirstOfYear; 0; 0; 8 - ISOFirstDayNum; 0; 0; 0));
REM {The date of the last day of the last ISO week};
ISOLastDay := @If(IsLastWeek;
            @Adjust(LastOfYear; 0; 0; 7 - ISOLastDayNum; 0; 0; 0);
            @Adjust(LastOfYear; 0; 0; -ISOLastDayNum; 0; 0; 0));

REM {Date outside ISOFirstDay and ISOlastDay};
REM {are from the previous or next year};
REM {Return the ISO week number and exit};

FirstWeekNextYear := @If(D > ISOLastDay; @Return(@Prompt([Ok]; "FWNY";
@Text(@Year(D)+1) + "W01")); NULL);

REM {I suspect this is where Julian dates would be useful};
REM {A recursive call could be used in a real language};
LastWeekLastYear := (D - @Adjust(FirstOfYear; -1; 0; 0; 0; 0; 0))/60/60/24/7;
AdjustLastWeek := 1 - (LastWeekLastYear - @Integer(LastWeekLastYear));
@Set("LastWeekLastYear"; LastWeekLastYear + AdjustLastWeek);
@If(D < ISOFirstDay;
@Return(@Prompt([Ok]; "LWLY"; @Text(@Year(D) - 1) + "W" +
@Text(LastWeekLastYear))); NULL);

REM {If you get this far, the date falls into an ISO week this year};
REM {Convert the difference in seconds to weeks};
NumWeeks := (D - ISOFirstDay)/60/60/24/7;

REM {Fractions indicate that the date falls};
REM {in the middle of the ISO week};
WeekAdjust := 1 - (NumWeeks - @Integer(NumWeeks));
ISOWeekNum := NumWeeks + WeekAdjust;

REM {Conform to ISO 8601 format};
Pad:=@If(ISOWeekNum<10;"0";"");
Result := @Text(ISOWeekNum);

@Prompt([Ok];"Week number"; Result)
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline cococo69

  • @Notes Preisträger
  • Senior Mitglied
  • ****
  • Beiträge: 286
  • Geschlecht: Männlich
  • Super dieses Forum!!!
    • Mein Hobby...
Re:Datum für Ansicht formatieren
« Antwort #5 am: 13.03.04 - 17:24:07 »
... oder nimm die Script-Bibliothek von Anton Tauscher...
http://www.anton-tauscher.de/ ---> unter "Computer --> "Downloads"

Zitat
Umgang mit Zeiträumen, Kalenderwochen, Datumswerten...
    Immer wieder braucht man Datumsangaben in deutsch, wie Monatsname, Tagesname,
    Kalenderwoche nach ISO und US-Format... => LS Library mit Demomaske
    aktualisiert am 13.12.2002 - Arbeitstage für Zeitraum
    Date Handling (gezippt, 93 KByte)   (LN-DB, 512 KByte)

Gruß
Armin

Offline braincrusha

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
  • Absoluter Newbie... und ich schäm mich nichtmal ;)
Re:Datum für Ansicht formatieren
« Antwort #6 am: 16.03.04 - 11:18:58 »
aha. das sind aber alles Agenten oder?

Ich suche eine Möglichkeit dieses Feld innerhalb einer Ansicht unter Spaltenwert zu benützen ohne es vorher mit einem Agenten oder ähnlichem umzuwandeln?

Ist sowas möglich?

Also dass ich das ganze als Spaltenwert eingebe.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Datum für Ansicht formatieren
« Antwort #7 am: 16.03.04 - 11:26:19 »
Mit geringfügigsten Anpassungen kannst Du dafür Ulrichs Formeln verwenden.

Bernhard

Offline braincrusha

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
  • Absoluter Newbie... und ich schäm mich nichtmal ;)
Re:Datum für Ansicht formatieren
« Antwort #8 am: 16.03.04 - 11:27:46 »
Wer ist Ulrich?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Datum für Ansicht formatieren
« Antwort #9 am: 16.03.04 - 11:35:28 »
Der Guru, der oben die KW-Formeln gepostet hat.

Ansonsten hier noch eine spaltenfertige Formel, die Du mit der Suchfunktion des Forums auch gefunden hättest:
Code
Folgende Formel hab' ich vor Jahren mal geschrieben - und siehe da, sie funktioniert noch ;-)
Vorab noch was zum "Nur berechnen mit gültigem Datum". In meiner Formel setze ich das Datum auf @Today, falls nicht vorhanden (was auch immer damals der Kontext gewesen sein mag), aber man kann das auch besser machen, in dem man im Fall der Fälle die Berechnung einfach abbricht:
@If (!@IsTime (Datum); @Return (""); "");
Es kann aber auch erforderlich sein, daß man den "Kein-Datum-Zustand" zurückgeben muß und einen Default-Wert für die KW zurückgibt (0 oder leer oder ...)

Servus,
Bernhard

REM "1. Keine Berechnung ohne Datum!  2. Ist der 1.1. des geforderten Jahres kleiner als Freitag -> 1. KW beginnt u.U. im Vorjahr! 3. Sonst Wochentagnr. (So =1; Mo = 2, ...) vom 1.1. abziehen (-> letzter Sa.), Addition von 9 führt zum ersten Montag im Jahr)";
REM "Zunächst Berechnung des Starttags des aktuellen Jahres:";
StartTagAktJ:=@If(
@Weekday(@Date(@Year(Datum); 1; 1)) > 5;
@Adjust(@Date(@Year(Datum); 1; 1); 0; 0; -@Weekday(@Date(@Year(Datum); 1; 1)) + 9; 0; 0; 0);
@Adjust(@Date(@Year(Datum); 1; 1); 0; 0; -@Weekday(@Date(@Year(Datum); 1; 1)) + 2; 0; 0; 0));

REM "Jetzt Berechnung des Starttags des Vorjahres:";
StartTagVJ:=@If(
@Weekday(@Date(@Year(Datum) - 1; 1; 1)) > 5;
@Adjust(@Date(@Year(Datum) - 1; 1; 1); 0; 0; -@Weekday(@Date(@Year(Datum) - 1; 1; 1)) + 9; 0; 0; 0);
@Adjust(@Date(@Year(Datum) - 1; 1; 1); 0; 0; -@Weekday(@Date(@Year(Datum) - 1; 1; 1)) + 2; 0; 0; 0));

REM "Und jetzt noch die Berechnung des Starttags des Folgejahres:";
StartTagFJ:=@If(
@Weekday(@Date(@Year(Datum) + 1; 1; 1)) > 5;
@Adjust(@Date(@Year(Datum) + 1; 1; 1); 0; 0; -@Weekday(@Date(@Year(Datum) + 1; 1; 1)) + 9; 0; 0; 0);
@Adjust(@Date(@Year(Datum) + 1; 1; 1); 0; 0; -@Weekday(@Date(@Year(Datum) + 1; 1; 1)) + 2; 0; 0; 0));


StartTagKW1:=@If(
Datum >= StartTagFJ; StartTagFJ;
Datum < StartTagAktJ; StartTagVJ;
StartTagAktJ);

@Integer((Datum - StartTagKW1) / 86400 / 7) + 1

Und diese ist von koehlerbv  ;)

Bernhard

Offline braincrusha

  • Junior Mitglied
  • **
  • Beiträge: 65
  • Geschlecht: Männlich
  • Absoluter Newbie... und ich schäm mich nichtmal ;)
Re:Datum für Ansicht formatieren
« Antwort #10 am: 16.03.04 - 11:36:53 »
ich hab gesucht... kam aber nur auf ewig lange Texte die mir starkl nach Scriptbibliotheken oder Agenten aussahen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz