Ich möchte eine zufällige Zeit zwischen 1-30 Minuten zu einem Datum hinzufügen, aber ColdFusion scheint es nicht zu mögen. Es fügt dem Wert Now()
die gleiche Anzahl von Minuten hinzu, egal wie oft ich den folgenden Code ausführe. Ich kann nicht herausfinden warum.Zufällige Zeit zu DateTime Wert hinzufügen
<cfset DateFuture = DateTimeFormat(DateAdd('n', RandRange(1, 30), Now()), 'yyyy-mm-dd HH:mm:ss.l')/>
<cfoutput>#DateFuture#</cfoutput>
Ich brauche die yyyy-mm-dd HH:mm:ss.l
Datetimeformat, weil das, was in SQL Server meine Datums- und Uhrzeitwerte aussehen wie das ist, wo ich meine Zukunft Datum einfügen möchten.
Wenn ich den obigen Code ausführen ich erhalte diese Ausgabe:
2017-11-25 22:11:24 und dann plötzlich wird es 2017.11.25 21 ändern: 11:16 was eine ganze Stunde wegnimmt, wenn ich nur noch Zeit hinzufügen möchte!
Es macht keinen Sinn, warum es sich so verhält. Ich bin in Großbritannien, verwende aber das internationale Datumsformat im Standardformat von SQL Server, das wie oben beschrieben ist.
UPDATE: Es ist ein Tippfehler! Das DateTimeFormat sollte yyyy-mm-dd HH:nn:ss.l
sein. 'nn' ist Minuten, nicht 'mm'. Oh!
Ich wäre versucht, Datum und Uhrzeit von SQL Server zu verwenden. SQL 2016 hat eine viel robustere Reihe von Funktionen. Es gibt UDFs, die SQL 2014 dazu bringen, alle möglichen Dinge zu tun. –
Vielleicht aber sicher ColdFusion Funktionen sollen wie beworben arbeiten? –
Es ist ein dummer Tippfehler. Ich habe HH: mm: ss verwendet, wenn es HH hätte sein sollen: nn: ss –