Ошибка при публикации даты в HubSpot API
Я пытаюсь опубликовать поле даты в API контактов HubSpot, однако получаю сообщение об ошибке, указывающее, что дата в формате UTC не полночь.
"1505779200 в 10:16:19.200 UTC, а не в полночь!"
Однако, если вы используете этот инструмент и введете это значение, вы увидите, что это значение полночь.
Код C#, который я использую для преобразования:
public static double DateTimeToUTC(System.DateTime dateTime)
{
dateTime = System.DateTime.SpecifyKind(dateTime, DateTimeKind.Utc);
var utcValue = ((DateTimeOffset) dateTime).ToUnixTimeSeconds();
return utcValue;
}
Кто-нибудь может помочь?
ура
KH
1 ответ
Вы пытались опубликовать время UNIX в миллисекундах (а не секундах)? HubSpot FAQ здесь
Конечные точки HubSpot API принимают метки времени в формате UNIX в миллисекундах....
...
Свойства Date/Datetime в HubSpot Контакты
Свойства даты будут хранить только дату и должны быть установлены в полночь по UTC для желаемой даты. Например, 1 мая 2015 года будет 1430438400000 (01 мая 2015 года 00:00:00 UTC). Если вы попытаетесь установить значение, отличное от полуночи UTC, вы получите сообщение об ошибке.
Попробуйте перейти на .toUnixTimeMilliseconds()
и дать ему вихрь! ( MSDN Ref)
public static double DateTimeToUTC(System.DateTime dateTime)
{
dateTime = System.DateTime.SpecifyKind(dateTime, DateTimeKind.Utc);
var utcValue = ((DateTimeOffset) dateTime).ToUnixTimeMilliseconds();
return utcValue;
}