我需要调用一个有效负载的API
JSON
{
timeAsString :String
}
在文件
中给出timeAsString (int64 (https://developers.google.com/discovery/v1/type-format) format) Timestamp when abc is happen
为此我将日期转换为毫秒并发送为字符串
new Date().getTime().toString();
但它给我错误作为无效参数 请告诉我们我错在哪里。我们如何以字符串int64格式发送日期?
答案 0 :(得分:2)
首先,请考虑使用现代Java日期和时间API java.time
。您正在使用的Date
课程已过时且设计不佳。现代API可以更好地使用。
String timeAsString = String.valueOf(Instant.now().toEpochMilli());
这只是给了:
1512197790622
另一个选项是String.valueOf(System.currentTimeMillis())
。
如何学习使用java.time
?您可以从the Oracle tutorial开始和/或在网上查找其他教程和其他资源。
我可以在Java版本中使用现代API吗?
如果至少使用Java 6 ,则可以。
我的代码出了什么问题? Date.getTime()
返回毫秒作为基元long
。在Java中,您无法在基元上调用任何方法。在我的Eclipse中,我收到错误消息“无法在原始类型long上调用toString()”。一种解决方案是像我在上面的代码中那样使用String.valueOf()
。