1

我正在尝试将日期字段发布到 HubSpot 联系人 API,但是,我收到错误消息,指出 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

4

1 回答 1

4

您是否尝试过以毫秒(而不是秒)为单位发布 UNIX 时间?HubSpot 常见问题解答

HubSpot API 端点接受以毫秒为单位的 UNIX 格式时间戳。...

...

HubSpot 联系人中的日期/日期时间属性

日期属性将仅存储日期,并且必须设置为所需日期的午夜 UTC。例如,2015 年 5 月 1 日将是 1430438400000(2015 年 5 月 1 日 00:00:00 UTC)。如果您尝试设置的值不是 UTC 午夜,您将收到错误消息。

尝试切换到.toUnixTimeMilliseconds()并试一试!(MSDN 参考

public static double DateTimeToUTC(System.DateTime dateTime)
{
    dateTime = System.DateTime.SpecifyKind(dateTime, DateTimeKind.Utc);
    var utcValue = ((DateTimeOffset) dateTime).ToUnixTimeMilliseconds();
    return utcValue;
}
于 2017-09-20T02:26:12.187 回答