/blog/perl


substr() in Perl
[120297 mal gelesen]
foreach in Perl
[110958 mal gelesen]
Arrays in Perl - Besonderheiten
[102558 mal gelesen]
open() - Dateien öffnen in Perl
[93837 mal gelesen]
chomp() in Perl
[80707 mal gelesen]
split() in Perl - Zeichenketten teilen
[79924 mal gelesen]
grep - Listen durchsuchen in Perl
[77991 mal gelesen]
push in Perl
[72826 mal gelesen]
sleep in Perl - Das aktuelle Script warten lassen
[56801 mal gelesen]
print in Perl
[47307 mal gelesen]


Arrays
Dateien
HTPC
Hashes
Leistungsoptimiert
PHP
Perl
RegEx
Schleifen
Script
Skalare
Sonstiges
System
Webserver
Zur Startseite


Human Date - "Menschliches Datum"

Suchbegriff
 

Also vornweg: Was verstehe ich unter "menschliches Datum"?
Besser ausgedrückt wäre es vielleicht "menschliche Zeitangabe" oder "Alltägliche Datumsangabe". Immer noch nicht schlauer?

Nun, ganz einfach:
Wie oft sagt man: "Ich komme in einer Woche", oder, "übermorgen vor einem viertel Jahr war der Geburtstag", oder "vorgestern" oder bei Kindern, "vorvorgestern vor einer Woche".

Nun, was uns Menschen klar ist, damit hat dem Computer doch ziemliche Probleme.

Was ist vorgestern, oder morgen in einem jahr, oder ein dreiviertel Jahr? Abstrakte Begriffe wie heute und morgen, übermorgen, vorvorgestern sind keine für den Computer verständlichen Größen, müssen dewegen umgewandelt werden, so daß der Computer etwas damit anfangen kann.

Bingo: Ohne Script geht da nix!

Ich hab da mal ein bißchen herumprobiert und bin zu folgender Lösung gekommen, deren Ergebnis ich hier vorstelle.

Geben Sie bitte Texte wie
Vor einer Woche
Vor einem Jahr
Morgen in einem dreiviertel Jahr
Vorgestern
In 87 Tagen
Morgen in 100 Tagen
Morgen vor 100 Tagen
Vorgestern vor 4 Wochen
Vor 3 Wochen
Vor einem halben Jahr
In einem viertel Jahr
Übermorgen in einer Woche
Vor etwa einer Woche
In ca. 2 Monaten
In ungefähr 40 Tagen
Vor genau 12 tagen
In ca. 40 Wochen ist die Geburt Ihres Kindes
Wenn man täglich einen € spart, sind es in ungefähr 1 Jahr 400 €
Wenn man täglich einen € spart, sind es in genau 400 Tagen 400 €
Vor einem Jahr und zwei Wochen stach dass Schiff in See
In einem Jahr und einem Tag geht's los!!!
In einer Woche und 2 Tagen schicke ich das Paket weg
Vor ungefähr einem Jahr, 4 Wochen und zwei tagen
In 2 Jahren, einem Monat und 4 Wochen
in einem jahr zwei tage
in einem jahr zwei tagen

Oder (und nun wird's echt strange):
Vor ungefähr einem Jahr, 2 Monaten, 2 Wochen und zwei tagen
"Letzten Samstag" oder "übernächsten Montag" und auch "letzten Sonntag vor 2 Wochen"

oder in Kombination
übernächsten Montag vor ungefähr einem Jahr, 2 Monaten, 2 Wochen und zwei tagen (ähm... nunja, zum Testen ist's gut, aber im echten Leben wohl eher ungewöhnlich...)

Oder vielleicht als Frage:
Welches Datum war letzten Samstag vor 2 Wochen
Welcher tag war vorgestern
Welches Datum ist heute in drei Wochen
Scheint morgen in 3 Wochen die Sonne? (Funktioniert natürlich nicht... ABER: Wenn ich jetzt gemein wäre würde ich das Datum bestimmen, bei einer Wetterseite nachgucken lassen, und könnte dann sagen: yo, klar, vielleicht oder eher nicht, oder weiß nicht... vielleicht sieht man daran wieder etwas die Möglichkeiten des Scriptes)

usw. ein, das Script wirft dann den Tag bezogen auf heute heraus.
(Naja, im günstigsten Fall zumindest...)

"Verstandene" Schlüsselworte sind
heute, Morgen, übermorgen, überübermorgen, gestern, vorgestern, vorvorgestern, in (IN einer Woche, Tag, Jahr), vor (VOR einer Woche, Tag, Jahr), viertel jahr, halbes Jahr, dreiviertel Jahr, x Monate, x Tage, x Jahre, ca. ungefähr, circa, genau, absolut, und x Tagen, und x Wochen, und ein Tag, und eine Woche, letzten (letzten Samstag), vorletzten, vorvorletzten, nächsten, übernächsten, überübernächsten (Wochentag),
letzter (letzter Samstag), vorletzter, vorvorletzter, nächster, übernächster, überübernächster (Wochentag)

Übrigens
Bitte nur deutsche Umgangssprache verwenden, englisch kann das Script nicht, auch keine anderen Sprachen und Dialekte!

Suchbegriff
 

Die Regeln, die verwendet werden, sind folgende
In x Tagen -> heute +x Tagen
Vor x Tagen -> heute -x Tagen
In x Woche(n) -> heute + x*7 Tagen
vor x Woche(n) -> heute - x*7 Tagen

In x Monaten -> Monatszahl + x -> Tageszahl bleibt gleich, Jahre werden erhöht, unmögliche Tageszahlen (30 Februar usw.) werden umgerechnet.

Vor x Monaten -> Monatszahl - x -> Tageszahl bleibt gleich, Jahre werden vermindert, unmögliche Tageszahlen (30 Februar usw.) werden umgerechnet.

In x Jahren -> Jahreszahl + x, Tag und Monatszahl bleibt gleich
Vor x Jahren -> Jahreszahl - x, Tag und Monatszahl bleibt gleich

Vor x Jahren und 2 Wochen = Jahr-x - 2 Wochen
In x Jahren und 2 Wochen = Jahr+x + 2 Wochen

Das Schema sollte klar sein...

Ich bin übrigens im Moment selbst recht überrascht, wie gut das schon klappt!

Was noch schön wäre
Toll wäre natürlich noch etwas wie "Am ersten Dienstag im Mai letzten Jahres", oder "Der dritte Sonntag im September"... aber was noch nicht ist kann ja noch werden!

Interessant wären auch noch Zeiträume, also zum Beispiel "Vor ungefähr einem Jahr", was dann den Tag von heute minus 1 Jahr ergibt, und darum einen Zeitraum von einer Woche vorher und nachher.

Fortsetzung
Es werden jetzt auch Grammatikfehler wie "In einen Tag" oder "Vor einen Monat" erkannt.

Und weils so schön ist, funktioniert jetzt auch so ne Geschichte wie "Letzten Samstag" oder "übernächsten Montag" und auch "letzten Sonntag vor 2 Wochen" oder "vorvorletzten Sonntag vor zwölf Wochen und einem tag".

Fortsetzung folgt...

 


SSD-Festplatte - Wassn das???
Die Transliteration - Nur ein Zeichen in einem Skalar ersetzen
Select - Case in Perl
Windows 7 XP Mode – Wo finde ich den XP-Modus unter Windows 7?
Mac-Adresse beim Apple Macintosh herausfinden
SGN-Funktion für Perl
truncate - Dateigröße verändern in Perl
Eigene IP herausfinden mit Perl
Epoche live in Datum umwandeln
Firefox 3 - Exe-Files downloaden


Von: Schorschel eastcoast
Kommentar:
Danke. Das hat mir weitergeholfen.
Zum Beitrag


Von: Jessica
Kommentar:
Kann man auch zwei Datein parallel einlesen?

Zum Beitrag


Von: Xtravaganz
Kommentar:
Für

Zum Beitrag


Von: Xtravaganz
Kommentar:
Für

Zum Beitrag


Von: Sammy
Kommentar:
wie lautet denn die syntax wenn ich eine perl datei in einer perl datei öffnen will. also hier steht ja "|datei: " muss ich da noch ein ".pl" anhängen oder nicht?
Zum Beitrag



Gesamtverzeichnis
Februar 2010
Dezember 2009
Oktober 2009
Januar 2009
Dezember 2008
November 2008
September 2008
August 2008
Juli 2008
Juni 2008
Mai 2008
April 2008
Januar 2008
Dezember 2007
November 2007
Oktober 2007
September 2007
August 2007
Juni 2007
Mai 2007
April 2007
März 2007
Februar 2007
Januar 2007
Dezember 2006


Mister Wong

RSS-Feed

Heute ist der
21.9.2017

Es ist
19:27:44 Uhr

Ihre IP:
54.92.158.65

Blog-Einträge: 186

Die letzten 24 Stunden im Überblick


Gelesene Beiträge insgesamt:
3500372


Webseiten vergleichen
Kalender mit Feiertagen - 2028
Links finden und testen
Menschliche Datumsangaben
IP zu Domain herausfinden
Time live in Datum umwandeln
Perl für Windows



Mo Di Mi Do Fr Sa So
123
45678910
11121314151617
18192021222324
252627282930

Impressum