Cuando un usuario puede realizar una acción solo una vez al día, por ejemplo, obtener un boleto gratis para una competencia, hay dos posibilidades que encontré en mi experiencia.
1) Restablecimiento de 24 horas
Si realiza la acción el día 1 a las 11:45 p.m., solo puede realizar la acción nuevamente el día 2 a partir de las 11:45. No podrá hacerlo 11:44 el día 2.
2) Restablecimiento de medianoche (o cualquier hora fija)
No importa a qué hora el usuario realiza la acción el día 1, tan pronto como sea medianoche y comience el día 2, podrá volver a hacerlo.
Ambos limitan al usuario a realizar solo una acción al día, pero a menudo encuentro el método 1, que creo que es bastante inconveniente por dos razones:
- Primero tengo que esperar el tiempo
- y segundo durante un período de tiempo prolongado, la marca de tiempo de mí realizando la acción será cada vez más tarde, ya que no podré realizar la acción exactamente en esa marca de tiempo todos los días, solo un par de segundos o minutos más tarde.
¿Hay alguna razón técnica por la que uno preferiría el método 1, aunque en mi opinión la desventaja importante para el usuario mencionada anteriormente?
Editar, para especificar: Estoy hablando especialmente de un ejemplo, donde el intervalo de tiempo real de 24 horas obviamente no es necesario, como en el evento actual de giros gratis de Theory11 , donde obtienes 1 giro gratis cada 24 horas para tener la oportunidad en ganar premios.