Ошибка при публикации даты в 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;
}
Другие вопросы по тегам