Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Notestime am 29.12.05 - 11:08:30

Titel: Datum extrahieren
Beitrag von: Notestime am 29.12.05 - 11:08:30
Hallo!

Wie kann ich mittels Formelsprache aus einem
String (xxxxxxxxxx12.09.2005xxxxxxxxxxxx) ein Datum extrahieren und dann als Vergleich mit @now verwenden?

Danke und Gruß
Bernd
Titel: Re: Datum extrahieren
Beitrag von: umi am 29.12.05 - 11:33:23
Dazu muss xxxx Links davon und xxx rechts davon bekannt sein.
schau mal @left oder @right an oder @explode, je nachdem was das xxxxxx ist.
anschliessend den String mit @date in ein Datum umwandeln, danach kannst du mit den einfache <>= operatoren das ganze mit @now vergleichen.
Titel: Re: Datum extrahieren
Beitrag von: Notestime am 29.12.05 - 11:36:43
Mhm, das ist leider nicht bekannt. xxx kann unterschiedlich sein.
Titel: Re: Datum extrahieren
Beitrag von: umi am 29.12.05 - 11:40:11
Wenn Dein Datumsstring nicht klar identifizierbar ist, hast Du relative wenig chancen dies 100% sauber hinzukriegen.

Titel: Re: Datum extrahieren
Beitrag von: hwenck am 29.12.05 - 11:41:39
@if(@TextToTime(@Rigth(@Left(xxxxxxxxxx12.09.2005xxxxxxxxxxxx;20);10) < @Date(@Now);1;0);

Die Länge von xxx sollte bekannt sein
Titel: Re: Datum extrahieren
Beitrag von: Tode am 29.12.05 - 14:53:47
also wenn xxxxx12.09.2005yyyyyy der String ist, und xxx und yyy sowohl in länge als auch in Inhalt unterschiedlich sein können, dann gibt es verschiedene Möglichkeiten:

1. String durchlaufen, immer 10 Stellen ausschneiden, kucken ob Datum, rausschreiben wenn ja

@For( i:=1;i:=i+1;i<@Length( String ) - 10 & dat != "" ;
tmp := @Middle( String ; i ; 10 ) ;
dat := @If( @IsTime( tmp ) ; @TextToTime( tmp ) ; dat )
)

2. wenn das Datum "irgendwie" vom Text getrennt ist (also xxxxx 12.09.2005 yyyyyy oder xxxxx-12.09.2005-yyyyy) dann:

exploded := @Explode( String ; " -;:#()" );
@For( i:=1;i:=i+1;i<@Elements( exploded ) & dat != "" ;
tmp := exploded;
dat := @If( @IsTime( tmp ) ; @TextToTime( tmp ) ; dat )
)

HTH
Tode