Zufallsdatengenerator für Planung und Tests
Erstellen Sie gültige Zufallsdaten innerhalb eines umfassenden Bereichs für Zeitpläne, Simulationen und Tests mit Schaltjahresbehandlung und ISO-Ausgabe.
Ein zufälliges Datum ist nützlich für Beispielpläne, Spielereignisse, Simulationen und Softwaretests. Die zuverlässige Methode besteht nicht darin, einen Monat, einen Tag und ein Jahr unabhängig voneinander zu generieren; Dabei wird ein zufälliger Offset innerhalb eines gültigen Datumsbereichs ausgewählt.
Wichtige Erkenntnisse
- Definieren Sie das früheste und das späteste Datum, bevor Sie etwas generieren.
- Wandeln Sie den Bereich in eine Anzahl von Tagen um und wählen Sie einen zufälligen Tagesversatz.
- Verwenden Sie Datumsarithmetik, anstatt für jeden Monat eine Tageszahl zu erfinden.
- Entscheiden Sie, ob die Endpunkte enthalten sind und ob eine Tageszeit wichtig ist.
- Notieren Sie die Zeitzone und das Datumsformat, um reproduzierbare Ergebnisse zu erzielen.
Warum unabhängige Monats-, Tages- und Jahreswerte fehlschlagen
Monate haben unterschiedliche Längen und der Februar ändert sich in Schaltjahren. Die Auswahl eines Tages zwischen 1 und 31 für jeden Monat kann zu ungültigen Ergebnissen führen, z. B. dem 31. April oder dem 29. Februar in einem gemeinsamen Jahr. Es gibt auch Monaten mit weniger Tagen eine andere effektive Wahrscheinlichkeit.
Wenn man ein Jahr, dann einen Monat und dann einen gültigen Tag auswählt, kann dies funktionieren, erfordert aber zusätzliche Regeln und gibt möglicherweise dennoch nicht jedem Kalendertag die beabsichtigte Wahrscheinlichkeit. Eine Day-Offset-Methode ist einfacher und transparenter.
Generieren Sie ein Datum mit dem Zufallsgenerator
Öffnen Sie den Zufallsdatumsgenerator und führen Sie die folgenden Schritte aus:
- Wählen Sie ein Startdatum und ein Enddatum.
- Legen Sie die Anzahl der Ergebnisse fest und aktivieren Sie bei Bedarf Keine Duplikate.
- Wählen Sie die chronologische Sortierung, wenn die Ausgabe geordnet werden soll.
- Generieren Sie die Daten und kopieren Sie die ISO-Werte.
- Speichern Sie den Bereich und die Einstellungen mit jedem Testfall, den Sie reproduzieren müssen.
Intern berechnet das Tool die Anzahl der Tage zwischen den Endpunkten, wählt einen einheitlichen Offset aus und addiert ihn mithilfe der UTC-Datumsarithmetik zum Start.
Beispielsweise hat ein eintägiger Bereich, der nur den 1. Januar enthält, einen möglichen Offset: 0. Ein Bereich vom 1. Januar bis 31. Januar hat 31 mögliche Offsets, von 0 bis 30.
Der Generator läuft lokal und verwendet für jeden Offset die kryptografische Zufallsquelle des Browsers. Außerdem wird überprüft, ob die angeforderte eindeutige Anzahl in den ausgewählten Bereich passt.
Inklusive und exklusive Endpunkte
Ein inklusiver Bereich umfasst sowohl das Start- als auch das Enddatum. Ein exklusiver Endbereich umfasst den Start, stoppt jedoch vor dem Ende. Hier kommt es häufig zu Einzelfehlern. Schreiben Sie die Regel daher neben den Test oder die Aktivität.
Für ein ganzes Jahr vom 1. Januar bis einschließlich 31. Dezember muss der letzte Tag ein mögliches Ergebnis sein. Wenn Sie stattdessen den 1. Januar des folgenden Jahres als exklusiven Endpunkt verwenden, berechnen Sie den Versatz gegenüber dieser Grenze.
Schaltjahre und Kalenderarithmetik
Schaltjahre werden korrekt gehandhabt, wenn Sie Tage mit einem kalenderfähigen Tool hinzufügen. Gehen Sie nicht davon aus, dass jedes Jahr 365 Tage hat oder dass jedes vierte Jahr in jedem Kalendersystem ein Schaltjahr ist. Für die meisten modernen Geschäftsanwendungen reichen der proleptische Gregorianische Kalender und eine Standard-Datumsbibliothek aus.
Historische Daten erfordern besondere Sorgfalt, da Kalender und regionale Einführungstermine unterschiedlich sind. Wenn das Ergebnis rechtliche, wissenschaftliche oder historische Bedeutung hat, dokumentieren Sie das Kalendersystem sowie die Zeitzone.
Zeitzonen und Tageszeiten
Ein Kalenderdatum ist nicht dasselbe wie ein Zeitstempel; Die MDN-Datumsreferenz erklärt das zugrunde liegende JavaScript-Modell. Ein reiner Datumswert wie der 08.03.2027 muss sich nicht ändern, wenn er aus einer anderen Zeitzone angezeigt wird. Die Konvertierung über einen lokalen Mitternachtszeitstempel kann dazu führen, dass der Wert versehentlich auf den vorherigen oder nächsten Tag verschoben wird.
Behalten Sie für reine Datumsergebnisse die Berechnung in einem reinen Datumstyp bei oder verwenden Sie eine konsistente UTC-Konvention. Wenn Sie auch eine zufällige Zeit benötigen, definieren Sie die Zeitzone, generieren Sie Sekunden oder Minuten innerhalb des zulässigen Intervalls und berücksichtigen Sie Sommer-/Winterzeitübergänge.
Planung, Simulationen und Tests
Verwenden Sie zufällige Daten, um fiktive Projektmeilensteine, zufällige Übungspläne, Beispieltransaktionen oder Testfälle nahe Monats- und Jahresgrenzen zu erstellen. Berücksichtigen Sie auch bewusst Randfälle: den 29. Februar, Monatsenden, Sommerzeitumstellungen sowie die Mindest- und Höchstdaten.
Zufällige Tests sollten deterministische Beispiele ergänzen. Speichern Sie den generierten Offset, den Bereich und die Zeitzone bei jedem fehlgeschlagenen Test, damit er reproduziert werden kann.
Fazit
Generieren Sie ein zufälliges Datum, indem Sie einen einheitlichen Tagesversatz innerhalb eines klar definierten Bereichs auswählen. Lassen Sie kalenderbezogene Arithmetik Monatslängen und Schaltjahre verarbeiten und halten Sie reine Datumswerte von Zeitstempeln getrennt. Explizite Endpunkte, Formate und Zeitzonen verhindern die meisten Fehler bei zufälligen Datumsangaben.
Probieren Sie das Tool aus
Zufallsdatum-Generator
Generieren Sie gültige Zufallsdaten.