1. JavaScript / Говнокод #26429

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    //Use this to convert OffSet to postive:
    
    var offset = new Date().getTimezoneOffset();
    console.log(offset);
    this.timeOffSet = offset + (-2*offset);
    console.log(this.timeOffSet);

    Это такой особый JS way, или я чего-то не понимаю?

    Запостил: eukaryote, 10 Февраля 2020

    Комментарии (8) RSS

    • Да, ссылку забыл: https://stackoverflow.com/a/42994392
      Ответить
    • https://www.slpb.de/fileadmin/media/wtf-Inhalte/wtf_logo_freigestellt_klein.png

      Но на самом деле это просто срущие пернатые мыши, которых полно на SO.
      Ответить
      • Согласен, автор кода просто написал питушню.

        Вероятно, у него было значение со смещением, которое надо было зачем-то отзеркалить, и он его переписал под само смещение.
        var value = pitux(); // X + offset
        value -= 2 * offset; // X + (-offset)
        Ответить
        • Там всё очень просто: жопаскрипт возвращает оффсет часового пояса в минутах с обратным знаком; например, для часового пояса GMT+9 будет -540. Соответственно, нужно поменять знак на противоположный.
          Ответить
        • > отзеркалить
          Так смещение в минутах на запад или на восток зависит от того, что принимается за базовое - локальное или UTC.

          А умножение на 2 это наверняка неудачная попытка перевести в часы.
          Ответить
    • Похоже на целочисленную питушню вида X/Y*Y.
      Кстати, она работает в C/C++, или хитрый компилятор может заменить её на X*Y/Y или вовсе на X?
      Ответить
      • X/y*y точно не упростит, в целых числах не эквивалентно. А вот x*y/y наверное заменит на x, но только для signed.
        Ответить
    • // Не исправлять!!! Счетчик оторванных рук: 8
      Ответить

    Добавить комментарий