Получить часовой пояс пользователя для надстройки Gmail

Как получить часовой пояс пользователя в надстройке appscript для Gmail. Мне нужен не часовой пояс сценария, а пользовательский. Мне просто нужно отобразить историю. Так что, если я могу преобразовать UTC в часовой пояс пользователя на стороне клиента, это тоже нормально.

Session.getScriptTimeZone() указывает часовой пояс скрипта, а не пользователя.

Есть ли способ получить часовой пояс пользователя или показать время в соответствии с часовым поясом компьютера пользователя?


person Dilip    schedule 16.11.2017    source источник


Ответы (2)


Вы можете попробовать использовать toLocaleDateString

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString

В примере надстройки используется это (https://github.com/googlecodelabs/gmail-add-ons/blob/f33d04657b1dd27b5137c3b4e2d73ccce99d9615/Step-6/Helpers.js#L43)

person Abhishek S Jain    schedule 12.12.2017

  1. Session.getScriptTimeZone(); получает часовой пояс пользователя, установленный в его учетной записи Gmail. Если пользователь хочет изменить свой часовой пояс, он должен изменить его через Календарь Google (как изменить часовой пояс).

  2. If you want to get the timezone that reflects the user's computer's settings, here is a small script:

    function getTimeZone(){
        var now = new Date().toString();
        var timeZone = now.replace(/.*[(](.*)[)].*/,'$1');//extracts timezone string
        return timeZone;
    }

  3. Кроме того, вы можете добавить Moment.js в свой проект Apps Script и использовать уже созданные функции: https://momentjs.com/

person SSB    schedule 16.11.2017
comment
Мне нужно показать время в соответствии с часовым поясом пользователя Gmail или часовым поясом ПК. Session.getScriptTimeZone не даст часовой пояс пользователя, но скрипт. Можете ли вы сослаться на документ, подтверждающий вашу точку зрения? - person Dilip; 17.11.2017