12:00 утра, поскольку время окончания переходит на следующую дату - PullRequest
0 голосов
/ 01 апреля 2012

Здесь я объясняю сценарий -

Пользователь после предоставления услуги должен предоставить ввод времени начала и окончания услуги, но он должен быть в одну и ту же дату.Теперь, когда он / она пытается ввести данные типа

  • 11:45 PM в качестве времени начала
  • 12:00 AM в качестве времени окончания

где, например, датаis: 20/03/12, что означает, что это 15-минутный сервис.

Пользователь получает сообщение о проверке типа «дата начала и окончания не совпадают».это происходит потому, что всякий раз, когда он / она предоставляет 12:00 AM в качестве конечной даты , система получает это в качестве времени начала следующего дня.Это значит:

  • Время начала: 11:45 PM - 20/03/12
  • Время окончания: 12:00 AM - 21/03/12

Я ищудля стандартного решения, как можно обработать ситуацию такого типа?
К вашему сведению, это в веб-приложении, написанном на .

1 Ответ

4 голосов
/ 01 апреля 2012

Ну, 12:00 - это на следующий день.Параметры:

  • Проверьте, находится ли время окончания включительно в тот же день, вычитая миллисекунду из времени окончания эксклюзив , и используйте его дляпроверить
  • Явно проверить на полночь

Хотя вы должны тщательно продумать другие ситуации, например,

  • 0 минут обслуживания, с полуночи до полуночи в тот же день.день
  • 24 часа службы, с полуночи до полуночи следующего дня
  • Попытка при 48 часах службы, с полуночи до полуночи 2 дня спустя
  • "Обратное" время:с полуночи сегодня до полуночи предыдущего дня

Также неясно, как часовые пояса будут в этом участвовать - имейте в виду, что в некоторых часовых поясах полночь даже не произойдет во все дни из-за переходов DST.

...