【问题标题】:Passing Date value to NetSuite via API通过 API 将日期值传递给 NetSuite
【发布时间】:2017-01-15 05:56:37
【问题描述】:

通过 API 在 NetSuite 中填充日期字段(例如销售订单开始日期)时,您需要指定时间戳 + 时区,即使 NetSuite 中未显示时间戳。

有人知道 NetSuite 将日期+时间戳转换为日期的逻辑吗?

例如,有时当我传递 2016 年 10 月 1 日 00:00:00 UTC 的日期+时间时,我会在 NetSuite 中看到 2016 年 9 月 30 日。其他时候,我在 NetSuite 中看到日期显示为 2016 年 10 月 1 日。逻辑似乎不一致。谁能解释一下逻辑?

【问题讨论】:

    标签: netsuite


    【解决方案1】:

    对我来说,这取决于我的时区,以及写入 NetSuite 的帐户的时区。

    我过去遇到过这个问题。我通过将我的集成用户帐户设置为具有 GMT 时区来解决它。之后,根据用户的时区(在首选项中设置),每个用户的日期/时间总是正确的。

    【讨论】:

    • 经过反复试验,我尝试切换 API 用户并将他们的时区设置为 GMT。这似乎奏效了——希望它不会恢复原状。我能想到的是,我们的集成工具与原始 API 用户保持了一个开放的会话,他们的时区更改并没有立即生效。
    【解决方案2】:

    您提交的日期从登录用户的时区转换为服务器的时区。它与服务器时区一起保存。

    所以根据会话用户和服务器的时区之间的差异,是的,它甚至可以通过转换来更改日期。

    【讨论】:

    • 从我目前看到的情况来看,我得出的结论是:通过API提交的日期+时间被转换为登录用户的时区。 NetSuite 然后去掉时间并将时间默认为一天的开始时间(在公司的时区)。在内部,NetSuite 然后将日期存储为服务器本地时区的日期+时间(通常是太平洋时间)。
    猜你喜欢
    • 1970-01-01
    • 2014-05-02
    • 2017-09-23
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    • 2021-04-09
    • 2018-12-18
    • 1970-01-01
    相关资源
    最近更新 更多