我是Android的新开发者,我想反序列化一个Date值的字符串,我正在寻找反序列化转换为json的日期像这样/日期(1446063654000)/到字符串像这样的形式YYYY / MM / DD
但我没有找到解决方案。
你能检查一下并告诉我该怎么做吗?
答案 0 :(得分:3)
/Date(1446063654000)/
似乎是一个unix时间戳。假设你把它作为一个字符串......
String str = "/Date(1446063654000)/";
...将此转换为日期非常简单,例如,您可以简单地执行..
long time = Long.parseLong( str.substring(6, str.length() - 2 );
换句话说,取'/Date(
之后的字符串部分(长度为6个字符),直到最后)
,换句话说,只取数字部分,并将其解析为长整数。 / p>
长期可以成为约会......
Date date = new Date( time );
日期可以格式化为字符串...
String formatted = new SimpleDateFormat("yyyy/MM/dd").format( date );
答案 1 :(得分:0)
您需要使用SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd", Locale.US);
Date date = sdf.parse(string, parsePosition)
如果您使用Gson库来解析Json字符串,您可以使用:
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.setDateFormat(dateFormat);
Gson gson = gsonBuilder.create();
gson.fromJson(string, YourClass.class);