Добрый день. Подскажите алгоритм, как лучше сделать.
На одном веб ресурсе можно делать взаимодействия с юзерами только в определенное время(это время указывают юзеры ресурса).
На входных параметрах может быть следующее, - пользователь разрешил взаимодействовать только с 14:00 до 00:00 часов, а текущее время 2:30.
А на выходе алгоритм должен сказать, сколько минут осталось до того времени, чтобы взаимодействовать.
Соответственно, время может быть любое(логично, что время может быть с 14:00 до 13:00, то есть все время можно взаимодействовать, кроме интервала с 13 до 14 часов)
Правильно ли будет сделать следующее - сравнить начальное время(с) и текущее время.
Если начальное > текущего, то отнимаем начальное от текущего
Если начальное < текущего, то отнимаем текущее от начального.
Что делать в тех случаях, когда юзер указал, что можно взаимодействовать с 00:00 до 01:00 , а текущее время 2:30
По логике нужно будет 2:30 отнять 00:00 и будет , что до взаимодействия осталось 2:30(150минут), что неверно.
Может тогда если будет 00 , то его переводить в 24 и только после этого проводить такую операцию?
Может, еще какие-то подводные камни могут быть?
На одном веб ресурсе можно делать взаимодействия с юзерами только в определенное время(это время указывают юзеры ресурса).
На входных параметрах может быть следующее, - пользователь разрешил взаимодействовать только с 14:00 до 00:00 часов, а текущее время 2:30.
А на выходе алгоритм должен сказать, сколько минут осталось до того времени, чтобы взаимодействовать.
Соответственно, время может быть любое(логично, что время может быть с 14:00 до 13:00, то есть все время можно взаимодействовать, кроме интервала с 13 до 14 часов)
Правильно ли будет сделать следующее - сравнить начальное время(с) и текущее время.
Если начальное > текущего, то отнимаем начальное от текущего
Если начальное < текущего, то отнимаем текущее от начального.
Что делать в тех случаях, когда юзер указал, что можно взаимодействовать с 00:00 до 01:00 , а текущее время 2:30
По логике нужно будет 2:30 отнять 00:00 и будет , что до взаимодействия осталось 2:30(150минут), что неверно.
Может тогда если будет 00 , то его переводить в 24 и только после этого проводить такую операцию?
Может, еще какие-то подводные камни могут быть?