【发布时间】:2019-04-10 10:47:46
【问题描述】:
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM DD HH:mm:ss z yyyy");
try {
String d1 = list.get(position).getTaskTime(); //here d is "Tue Nov 06 15:37:51 EST 2016"
date = sdf.parse(d);
String d2=date.toString();
Log.d("demo", d2); //here d2 is "Sat Jan 06 15:37:51 EST 2016"
} catch (ParseException e) {
e.printStackTrace();
}
PS:我使用 Calendar 类添加了 10 个月,并正确设置了日期,这有点像 hack,但很有效。但是,我想知道我的代码出了什么问题。
【问题讨论】:
-
请不要链接到图片。相反,请编辑您的问题以显示这些值是什么以及它们如何不正确。
-
我第一次在这里发帖。我只是使用了可用的选项。该链接是由 stackoverflow 生成的。无论如何,我更新了帖子。谢谢!
-
发帖前一定要彻底搜索 Stack Overflow。
-
顺便考虑扔掉长期过时且臭名昭著的麻烦
SimpleDateFormat和朋友,并将ThreeTenABP添加到您的Android项目中,以便使用java.time,现代Java日期和时间API .使用起来感觉好多了。 -
看来
getTaskTime(正在返回一个String,你应该有一个方法来返回一个日期时间对象,这样你就根本不需要解析。返回类型为Date或Instant(我推荐后者)。
标签: java android string date simpledateformat