getTime
returns the ledger time which is set by the participant server so different participant servers can definitely behave differently here. Not quite sure if that is already the case for the current ledger implementations. You can find more information on this at https://docs.daml.com/app-dev/app-arch.html#dealing-with-time which also describes the issues caused by relying on getTime
being precise. Semantics of min_ledger_time has further details.
As for random numbers, I wouldn’t recommend relying on getTime
for that. Instead pass in the numbers from the client.