Joda日期时间:捕获日期时间(UTC)并转换为字节/字节数组

时间:2013-06-07 09:35:30

标签: java datetime jodatime

我正在编写一个应用程序,我必须以UTC格式捕获当前日期时间,并将其记录到图像文件的标题中。

我正在使用Joda日期时间。现在要求以UTC格式获取当前日期时间并将其转换为字节字节/字节数组,以便将其作为十六进制值存储在图像文件的标题中。

到目前为止我尝试了什么

DateTime date = new DateTime().withZone(DateTimeZone.UTC).
                withChronology(ISOChronology.getInstanceUTC());

它给了我这个输出:

2013-06-07T09:25:51.630Z

我不知道为什么输出中有T和z。

现在我必须将其转换为bytes / bytes数组。但我不知道如何做到这一点。

任何帮助?

修改 根据我遵循的标准,他们给出了转换后的结果示例

2005年12月15日17:35:19.000 ==> 07D5 0C 0F 11 23 13 0000Hex

1 个答案:

答案 0 :(得分:1)

  

DateTime date = new DateTime()。withZone(DateTimeZone.UTC)。                   withChronology(ISOChronology.getInstanceUTC());

如果你想要的只是UTC,你可以使用普通的

long time = System.currentTimeMillis();
BTW,所有计算机实际上都使用GMT而不是支持UTC。例如没有闰秒。

  

我不知道为什么输出中有T和z。

ISO 8601标准。

  

现在我必须将其转换为bytes / bytes数组。

有很多不同的方法可以做到这一点。你能说出你需要翻译的方式吗?

  

根据我遵循的标准,他们在转换后给出了一个结果的例子   2005年12月15日17:35:19.000 ==> 07D5 0C 0F 11 23 13 0000Hex

您指的是哪种标准?

如果07D5 0C 0F 11 23 13 0000是以毫秒为单位的时间,那么你将在1.1万亿年内。