Есть ли способ получить значение часового пояса, заданное пользователем, из API Dwolla?

Поле «Дата» транзакции Dwolla, по-видимому, использует это значение для создания метки времени, но я не вижу способа получить предпочтение «Часовой пояс» из API?

Уменьшая масштаб, я пытаюсь получить окончательную/сопоставимую дату для транзакции, но мне нужно знать часовой пояс строки даты.


person Kevin Collins    schedule 03.12.2013    source источник


Ответы (2)


Хотя в этом методе не указывается часовой пояс, другие, такие как этот дает понять, что даты указаны в формате UTC, поэтому я предполагаю, что все даты находятся в формате UTC во всем API.

Единственное, что мне не нравится в их API, это то, что они показывают примерные даты, например:

"Date": "8/31/2011 10:19:09 AM"

С их стороны не очень разумно использовать формат M/D/YYYY или использовать 12-часовой формат. Это лучше представлено "2011-08-31T10:19:09Z" в формате ISO и указывает на UTC. Если у вас когда-нибудь будет возможность поговорить с ними, вы должны порекомендовать им использовать этот формат (ISO-8601).

Просто помните об этом, когда вы анализируете его, поскольку формат, который они используют, может быть или не быть правильным форматом для вашей текущей культуры.

person Matt Johnson-Pint    schedule 03.12.2013
comment
Я тоже это предполагал, и для меня это имеет смысл, но Dwolla API работает иначе. Если я установлю свой часовой пояс на Калифорнию, я получу 03.12.2013 13:34:56, но если я изменю (в настройках учетной записи Dwolla) свой часовой пояс на Гавайи, то для той же транзакции дата вернется по состоянию на 03.12.2013 11:34:56 - person Kevin Collins; 04.12.2013
comment
Итак, в ваших тестах результаты не возвращаются как UTC? - person Matt Johnson-Pint; 04.12.2013
comment
Точно. Поле «Дата» транзакции возвращается по местному времени (24-часовой формат), но я не вижу способа получить местный часовой пояс. - person Kevin Collins; 04.12.2013
comment
Хммм.... с какого языка вы звоните в API? Можете ли вы показать код, который вы используете для вызова и анализа результатов? Вполне возможно, что они возвращаются как UTC, но затем переводятся в местный часовой пояс вашего сервера. Это может легко произойти с .NET и типом DateTime, но я не уверен, что вы используете это или что-то еще. - person Matt Johnson-Pint; 04.12.2013
comment
Я использую библиотеку Python, рекомендованную Dwolla (developers.dwolla.com/dev/samples/python) и не похоже, что он выполняет какой-либо перевод даты или даже парсинг =› github.com/Dwolla/dwolla-python/blob/master/dwolla/__init__.py - person Kevin Collins; 04.12.2013
comment
Я только что попробовал это на странице разработчика Dwolla с помощью кнопки «Попробовать метод сейчас», и он возвращает дерево JSON с той же локальной строкой даты и без информации о часовом поясе... поэтому я не думаю, что это проблема клиентской библиотеки. - person Kevin Collins; 04.12.2013
comment
Я работаю в Дволле. Кевин прав, проблема заключается в том, что наш API возвращает метки времени в местном времени, установленном каждым пользователем, но не указывает часовой пояс. Мы исправим это, вернув UTC, но в настоящее время мы работаем над тем, как внести это изменение, не нарушая существующие реализации. Это означает, что мы можем ввести новый параметр даты, такой как DateUTC. Следите за нашим списком рассылки для разработчиков, чтобы узнать о нашем решении на следующей неделе. - person Gordon Zheng; 08.12.2013
comment
@Gordon - обязательно верните его в формате ISO8601 с Z в конце для обозначения UTC. - person Matt Johnson-Pint; 09.12.2013
comment
Спасибо @GordonZheng! Я только что присоединился к списку рассылки разработчиков. - person Kevin Collins; 13.12.2013

Dwolla вносит изменения в отметку времени ISO 4 августа 2014 г.

Это изменение будет реализовано через 60 дней, начиная с сегодняшнего дня, в 9:00 по центральному времени 4 августа 2014 года. Если вам нужна помощь в корректировке кода для синтаксического анализа нового формата даты и времени, сообщите нам, и мы рука.

https://discuss.dwolla.com/t/api-update-new-timestamp-format-for-clearingdate-parameter/401

person Tim Child    schedule 21.07.2014