Учетная запись Xero имеет часовой пояс, который можно выбрать из список определен здесь. Примеры:
Даты, извлеченные из Xero API, выглядят следующим образом; это срок оплаты:
<Date>2015-07-17T00:00:00</Date>
Из документации подразумевается, что сохраненные даты и предположительно даты, предоставляемые API, должны интерпретироваться как находящиеся в часовом поясе, определенном для учетной записи пользователя. то есть настройки в Xero при входе в систему.
Теперь я хотел бы поместить эти даты в PHP DateTime
объекты, с правильным Timezone
, Можно ли использовать сопоставление часовых поясов, которое Xero использует для часовых поясов PHP? Насколько я вижу, все используемые PHP часовые пояса используют DST, но часовые пояса, которые использует Xero, не работают — они остаются постоянными по сравнению с UTC в течение всего года.
Так, например, как мне преобразовать «2015-07-17T00: 00: 00» для учетной записи Xero, установленной на WEUROPESTANDARDTIME, то есть UTC + 01: 00, в PHP DateTime
с правильным часовым поясом? Как насчет конвертации обратно? Все часовые пояса PHP «UTC + N» поставляются с предупреждением не использовать их, поскольку они устарели.
Задача ещё не решена.
Других решений пока нет …