在Java中将浮点时间戳从Python转换为Date

时间:2014-06-12 13:33:37

标签: java python json datetime

我有一个Rest服务,它接收一个JSON对象。此JSON中包含时间戳值。当我将JSON对象转换为Java类时,我使用一个long变量(我稍后使用new Date(long)来获取正确的日期对象)来获取时间戳。一切都工作正常,因为客户端(在Java和JS中)发送时间戳的时间很长。

现在我们正在为服务添加一个Python客户端,我正在尝试从Python发送时间戳。但是Python中的time.time()方法总是给出一个浮点数。所以我决定在我的Rest Service的Java类中使用一个double变量,我正确地得到了时间戳。但是,我如何将其转换为Date对象。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

所以查看文档(以前从未使用过Python)看起来像time.time()方法returns seconds since the epoch,而Java Date对象在其构造函数中需要milliseconds from the epoch

所以你需要做一些花哨的数学运算才能让双人成长。从我刚刚阅读的一些Python文档来看,似乎更容易将Python代码中的秒转换为毫秒,并将结果作为long发送给其余服务。根据您的准确程度,您可以将time.time()结果乘以1000得到毫秒,然后绕过其余部分以删除浮点数。