我正在编写一个应用程序,我必须以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
答案 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万亿年内。