我知道这听起来很奇怪,但是我有datettime 2018-04-04 12:59:575Z
。
让我们假设它是真实的,不是错误,并且我找不到解析此标准的任何标准。
有没有办法用Java解析它?最后的三个数字575
意味着什么?
编辑: 强烈怀疑我的样本中的日期时间正确无误。我要向创建者报告错误。谢谢大家的好建议。
答案 0 :(得分:3)
这可能意味着此字符串的来源均存在错误。如果可以访问该代码或向其所有者报告错误,我将在那里进行调查。
解析错误的数据并猜测数字的含义是没有意义的。坏数据比没有数据更糟糕。
答案 1 :(得分:3)
最后3个数字575意味着什么?
我的猜测包括:
.5
表示半秒;假定格式中省略了小数点)。ss
应该是什么。我找不到任何解析标准。
我非常相信没有任何东西。
有没有办法用Java解析它?
不,抱歉,只要我们不知道字符串的含义。
答案 2 :(得分:0)
最后# Read yaml file into nested dictionary
import yaml
fileName = '/tmp/testbed1.yaml'
with open(fileName, 'r') as yamlFile:
data = yaml.load(yamlFile)
# Get target value
target = data.get('devices').get('NN41_R11')
# Pretty print nested dictionary (or simply print)
__import__('pprint').pprint(target)
可能有两个选项。可能是分钟或秒。我认为,分钟更有可能,因为秒可能没有价值。 59
肯定是毫秒。
575
PS 。它可能是DateTimeFormatter dfMinutes = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:SSS");
DateTimeFormatter dfSeconds = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:ss:SSS");
而不是yyyy-dd-MM
。但是正如我所看到的,我们在相同的语言环境中。
答案 3 :(得分:0)
您可以使用joda time api来解析输入的String,如下所示:-
String strDate="2018-04-04 12:59:575Z";
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:SSSZ");
DateTime dt = formatter.parseDateTime(strDate);
System.out.println(dt); //2018-04-04T08:59:00.575-04:00
输入字符串中的575是毫秒。
但是您需要找出精确的意义,直到 如果不包括秒,则为毫秒。