2016-01-26 3 views
2

Я запускаю запрос SOQL и получаю значение даты/времени в соответствии с часовым поясом пользователя. У меня есть требование изменить часовой пояс в EST в самом запросе SOQL. Например: пользователь находится в PST и во время выполнения запроса SOQL я получаю createdDate значение поля в PST. Но мне нужно, чтобы результат дал значение createdDate в EST.Изменение часового пояса в запросе SOQL

Date in PST = SELECT CreatedDate FROM Opportunity 
Date in EST = SELECT ????? FROM Opportunity 

Спасибо.

ответ

1

От Date Formats and Date Literals

значения DATETIME поля сохраняются в виде универсального координированного времени (UTC). Когда значение DateTime возвращается в Salesforce, оно настроено на часовой пояс, указанный в ваших настройках org. Однако запросы SOQL возвращают значения даты в поле даты в качестве значений UTC. Если вы хотите обработать эти значения в разных часовых поясах, вашему приложению может потребоваться обработать преобразование.

Вы можете использовать format(dateFormatString, timezone) метод класса Datetime или dateGMT() для преобразования даты в Apex.

Если вам нужно отобразить дату где-то вне Salesforce, вам нужно будет сделать это на вашем конце.

+0

Спасибо Chiz за ответ. Я думаю, мне нужно использовать Time Offset для обработки этого в моем внешнем приложении. –