Datum prüfen?



  • Hallo,

    ich müßte in meiner Anwendung die gültigkeit des Datums prüfen.. das Problem es sollte überprüft werden, ob "wirklich heute heute ist" also das heute der 18.11 ist. und zB wenn man mit Hilfe vom Windows das Datum auf 24.11 umstellt sollte es weiterhin trotzdem der 18.11.

    d.h. ich kann DateTime.Today leider nicht mehr verwenden. ich habe es bereits mittels NTP Protokoll versucht und auch geschafft.. aber die prüfuung muss auch ohne internet erfolgen. habt ihr da ideen / ratschläge?

    lg Lion



  • Ein Dienst oder Programm, welches alle irgendein Zeitraum die aktuelle Urzeit abspeichert. Dabei sollte beim Programm auf Nachrichten wie Der Computer erwacht aus dem Ruhezustand / Standy o.ä. reagieren, um zu vermeiden, dass bei der Überprüfung eine angebliche Zeitumstellung stattfand, obwohl der Computer nur ausgeschaltet / im Standybymodus o.ä. war.

    Ohne externe Zeitangabe ist es sonst nicht möglich genau zu überprüfen, ob der User die Uhrzeit geändert hat.

    Nur so als Frage: Wird in irgendeiner Log-Datei jene Zeit...-änderungen notiert?

    MfG Rhombicosidodecahedron



  • Hy,

    also von meienrseits aus besteht keine Logdatei oder ähnliches.. da war die frage ob man es im System eine solche Zeitrefernz vorhanden ist wonach man sich richten kann ausser auf die Systemzeit rechts unten. Wie gesagt, ich hatte schon NTP in verwendung.. also für Benutzer im Internet kein Problem, aber für die ohne? da liegt das Problem.. für die ohne müßte man die Überprüfung abschalten, aber ich muss sicher gehen dass der Benützer mit seinem Datum nicht in der Zukunft liegt.

    lg Lion



  • So weit ich (jezt neuerdings) weiß kann man im BIOS die Uhr einstellen (ist das die Uhrzeit, die die von Windows "benutzt" wird?), aber ich bin mir nicht sicher ab man darauf in C# zugreifen kann (,außerdem kann man diese auch ändern).

    Andere Möglichkeit:(gerade frisch ausgedacht)

    • Hypothese 1: Windows stellt nur die Uhr um - Dateierstellungs - , -änderungs- und zugriffszeiten bleiben erhalten.
    • Hypothese 2: Du willst nur die Zeitrückstellung verhindern - nicht die Zeitumstellung im Allgemeinen.
    • Wenn eine der beiden Hypothesen nicht zutrifft das ließ musst du nicht weiderlesen.
    • Ablauf: Suche nach Dateien, die nach der momentanen Uhrzeit erstellt, geändert worden sind, oder geöffnet (letzter Zugriff) worden sind. Es wären u.a. folgende Pfade zu empfehlen:
    • %Systemverzeichnis%\system32 → Updates / Buxfixes für / von Windows oder aktuelle DirectX-Dateien
    • %Temporäres Verzeichnes% oder
    • %Internezwischenspeicher% (bei mir C:\Dokumente und Einstellungen\Rhombicosidodecahedron\Lokale Einstellungen\Temporary Internet Files),
      → hier müssten viele Dateien sein
    • %DVD / CD Laufwerke% → meistens hat man aktuelle C-/DV Ds im passenden Laufwerk
    • Jetzt wird es kompliziert: Kontektiere den Firewall des Betriebssystems, frage nach den / dem Virenschutzprogram und frage wiederum bei dem Programm nach wo (→ wie alt) die Virendatenbanken sind.
    • Wichiger Hinweiß 1: Ich würde nach mehr als drei Dateien, die neuer als die Uhrzeit sind, suchen lassen, da es vielleicht aus verschiedenen Gründen (Festplattenfehler) eine Datei existiert, auf die du / dein Programm aufmerksam wird.
      *Wichiger Hinweiß 1:*Beachte Windowsnachrichten die eine (lange) Unterbrechung andeuten (standby oder Ruhezustand), d.h. z.B: Wenn die Uhrzeit zwischengespeichert wird ist es 13 Uhr sofort wird der Computer in pausiert ( wie auch immer) und um 1600 wieder aktiviert. Wird jetzt nicht der Ruhezustand miteingeplant, kann es passieren, dass danach viele Dateien mit entsprechenden Eigenschaften gefunden werden!

    Mit freundlichen Grüßen Rhombicosidodecahedron


Anmelden zum Antworten