Как правильно настроить смещение часового пояса в 24-часовом формате

Asynchronusly означает, что запрос выполняется в фоновом режиме и вызывает вашу функцию, когда она получила ответ. Этот метод лучше всего, если вы хотите получить результат, но разрешите использовать приложение в запросе. Если вы хотите получить прямой ответ, взгляните на запрос синхронизации. этот запрос приостанавливает выполнение сценария до тех пор, пока не получит ответ, и пользователь не сможет ничего сделать, пока не будет получен ответ. Вы можете переключить его через:

async: false,

Так например:

$.ajax({
    url: "myurl",
    async: false,
    ...
})
0
задан rowmna 4 March 2019 в 01:11
поделиться

1 ответ

Итак, у вас есть два возможных условия, которые вы хотите исправить:

  1. Смещение часового пояса занимает раннее утреннее время и дает отрицательный результат. Я верю, что ваш код справится с этим.
  2. Смещение часового пояса принимает результат поздним вечером и делает его больше 24. В вашем коде отсутствует эта настройка.

Попробуйте

foo.forEach((fooPoint) => {
  fooPoint.hour -= this.state.timeZoneOffset;
  fooPoint.hour = 
     fooPoint.hour < 0
     ? fooPoint.hour + 24
     : foorPoint.hour >= 24
       ? fooPoint.hour - 24
       : fooPoint.hour;
});

Убрать вычитание только потому, что я ленивый и не хочу повторять это пять раз.

Важнейшей частью здесь является проверка обеих возможностей.

Вы также можете найти его более читабельным как if высказывания.

foo.forEach((fooPoint) => {
    fooPoint.hour -= this.state.timeZoneOffset;
    if (fooPoint.hour < 0) {
        fooPoint.hour += 24;
    } else if (fooPoint.hour >= 24) {
        fooPoint.hour -= 24;
    }
});

Эти два функционально одинаковы, но многие найдут, что легче следовать.

0
ответ дан mdfst13 4 March 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: