Comment générer une date aléatoire, et le temps entre deux dates?
Ne négligez pas la 'date ET HEURE' bien.
Vous devez vous connecter pour publier un commentaire.
Ne négligez pas la 'date ET HEURE' bien.
Vous devez vous connecter pour publier un commentaire.
Vous obtiendrez un objet de temps qui est entre deux datetimes.
to_f
sur elle.Date
ne dispose pas d'unto_f
. c'est à direDate.today.to_time
date1 + (date2 - date1) * rand
, et il ne sort qu'une fois.rand((DateTime.now - 3.months)..DateTime.now)
Vous devriez être en mesure de générer au hasard des dates/heures dans une certaine plage.
Vos entrées doivent être les
Time
classe, ou converti en un bien.Vous pourriez également faire une plage de temps dans l'époque et ensuite utiliser
Time#at
.1.year.ago
ne fonctionne que lorsque vous avez activesupport chargé...Utiliser le
rand()
méthode.Utilisation
time.to_i()
(voir classeTime
) pour convertir vos dates de entier, aléatoire entre ces deux valeurs, puis se reconvertir à l'heure et la date avecTime.at()
.Je ne sais pas à propos de ruby, mais pourquoi ne pas vous venez de générer un nombre entier et de l'utiliser conjointement avec un timestamp? Puis il suffit de convertir le timestamp à votre format souhaité.
Si vous connaissez le milieu et le décalage de chaque côté du milieu, vous pouvez utiliser mon ish gem: https://github.com/spilliton/ish
Calculer la différence, par exemple, en minutes entre les deux dates, générer un nombre aléatoire entre 0 et le nombre, et d'ajouter que le nombre de minutes à la première date.