Время UNIX, ответ всегда на одну минуту (быстрее / меньше) PHP MySQL - PullRequest
0 голосов
/ 13 июня 2018

У нас есть портал времени и посещаемости, на котором приложениям сотрудников необходимо отображать обратный отсчет времени до начала их смены (например: смена сотрудников 9-5, когда они открывают свое приложение в 8:50, сервер выдастответ 10 минут, и приложение начнет обратный отсчет {9:59, 9:58 .... и т. д.))

Мы храним все время в utc и используем функции PHP для преобразования в местное время,

Все было хорошо и здорово, пока на прошлой неделе мы не начали замечать, что ответ всегда на одну минуту выключен (поэтому в приведенном выше примере будут отображаться оставшиеся 9:00 минут и т. Д.).независимо от времени смены или разности времени начала смены.

следующая логика на стороне сервера:

$fields['total_elapsed_time'] = $current_time - strtotime($first_check_in_timestamp);
$fields['current_time'] = $current_time;

следующая логика приложения:

```if currentTime < startTime {

                            self.isUserHaveShiftIn2Hours = true
                            let endDate = Date(timeIntervalSince1970: TimeInterval(startTime))
                            self.totalWorkingSeconds = Double(self.getNumberOfSeconds(startDate: startDate, endDate: endDate))
                            self.startTheCountDownForShift()

                        }```

`let startTime = response.result.value!.shift_start_time`
`let startDate = Date(timeIntervalSince1970: TimeInterval(currentTime))`
`let currentTime = response.result.value!.current_time`

спасибо! ~

...