我在 SQLITE
的 String
字段中存储了一个日期,其中包含字符串值
"/Date(1411472160000+0100)/"
如何将其转换回日期格式
,下面的代码不起作用。我想我需要先从毫秒转换,但我不知道如何首先将上述文本转换为长格式?
有什么建议吗?
Date convertedDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm",
java.util.Locale.getDefault());
convertedDate = dateFormat.parse(dateString);
return dateFormat.format(convertedDate);
最佳答案
嗯,从 indexOf("(")
到 indexOf("+")
的子字符串,您应该找到日期以毫为单位。
从那里,我相信你可以找到日期;)
String s = "/Date(1411472160000+0100)/";
s = s.substring(s.indexOf("(") + 1, s.indexOf("+"));
Date d = new Date(Long.parseLong(s));
通过相同的结构,您可以找到时区 (+0100)(从“+”到“)”)
并使用日历来查找正确时区的正确时间。
关于java - android getDate 从存储在字符串字段中的毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28693303/