Когда пользователь может выполнять действие только один раз в день, например, получая бесплатный билет на соревнование, в моем опыте есть две возможности.
1) Сброс 24 часа
Если он выполняет действие в 1-й день в 23:45, он может выполнить действие снова только в 2-й день после 11:45. Он не сможет сделать это 11:44 во второй день.
2) Сброс полуночи (или любое фиксированное время)
Независимо от того, в какое время пользователь выполняет действие в первый день, как только наступит полночь и начнется второй день, он сможет сделать это снова.
Оба ограничивают пользователя в выполнении только одного действия в день, но я чаще всего сталкиваюсь с методом 1, который я считаю довольно неудобным по двум причинам:
- Сначала я должен ждать времени
- и, во-вторых, в течение длительного периода времени отметка времени, в течение которого я выполняю действие, будет становиться позже и позже, поскольку я не смогу выполнять действие точно в эту отметку каждый день, всего пару секунд или минут спустя.
Есть ли какая-либо техническая причина, по которой кто-то предпочел бы способ 1, хотя, на мой взгляд, важный недостаток для пользователя, указанный ранее?
Изменить, чтобы указать: я особенно говорю о примере, в котором фактический временной интервал в 24 часа явно не требуется, например, в текущем событии бесплатного вращения в Theory11 , где вы получаете 1 бесплатное вращение каждые 24 часа, чтобы получить шанс на выигрышных призах.