2015-01-16 2 views
0

У меня есть RESTlet для создания новых объектов клиентов из представленных форм на нашем веб-сайте. Я пытаюсь сохранить три значения в пользовательских полях Date/Time, которые я добавил в записи клиента. Служба принимает даты как целые числа времени (например, 1421434991537). Затем код RESTlet должен представить эту временную метку в качестве правильной даты в Восточное время.NetSuite RESTlet, Отправка даты/времени Вопросы по часовому поясу

Я читал о проблемах с датой/временем NetSuite, где, когда я создаю объект даты с помощью «новой даты (myIntVal)», он создает его в Pacific Time. Я пытаюсь передать значение Olson в setDateTimeValue, как говорится в документации и некоторых других сообщениях в блоге.

Мне нужны эти значения, сохраненные как Восточное время, но независимо от того, что я делаю, время ВСЕГДА представлено в Pacific Time. Что мне не хватает?

// firstVisit, previousVisit, and currentVisit are all the timestamp int values. 
 

 
var firstVisitDate = nlapiDateToString(new Date(firstVisit), 'datetimetz'); 
 
var previousVisitDate = nlapiDateToString(new Date(previousVisit), 'datetimetz'); 
 
var currentVisitDate = nlapiDateToString(new Date(currentVisit), 'datetimetz'); 
 

 
leadRecord.setDateTimeValue(FIELD_NAME_WEB_FIRST_VISIT, firstVisitDate, 14); 
 
leadRecord.setDateTimeValue(FIELD_NAME_WEB_PREVIOUS_VISIT, previousVisitDate, 14); 
 
leadRecord.setDateTimeValue(FIELD_NAME_WEB_CURRENT_VISIT, currentVisitDate, 14);

ответ

1

API nlapiSetDateTimeValue имеет следующие параметры fieldId, dateTime и timeZone. Параметр timeZone не является часовым поясом, к которому должна быть преобразована дата. Это должен быть часовой пояс поля dateTime. Этот API преобразует значение dateTime в TIMEZONE пользователя, как установлено в их учетной записи NetSuite.

Поэтому убедитесь, что пользователь, выполняющий RESTlet, имеет свой часовой пояс, установленный в восточном направлении, затем передайте значение Olson для Pacific в вашем вызове API.

+0

Люди в NetSuite должны просто скопировать этот ответ в свою документацию. Спасибо за помощь! – ryanlunka

0

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

+0

Я сказал, что в моем вопросе. Согласно документации и другим ресурсам, которые я прочитал, передача «14» (значение a.k.a. Олсона) в setDateTimeValue() должна указывать EST. Кажется, это не происходит. – ryanlunka

Смежные вопросы