【问题标题】:convert date as string int64 format将日期转换为字符串 int64 格式
【发布时间】:2017-11-30 04:21:07
【问题描述】:

我需要调用一个有有效载荷的 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 格式发送日期?

【问题讨论】:

  • 贴出引发异常的代码sn-p。
  • 我想知道我发送 timeAsString 值的方法是否正确。或者还有其他方法可以将 int64 格式的日期值作为字符串发送?
  • 描述格式并显示示例数据。

标签: java json string timestamp


【解决方案1】:

java.time

首先,请考虑使用现代 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(),就像我在上面的代码中所做的那样。

【讨论】:

    猜你喜欢
    • 2013-12-28
    • 1970-01-01
    • 2014-01-18
    • 2019-10-13
    相关资源
    最近更新 更多