嘿,我非常疑惑为什么我所展示的价值是负面的。我将来会选择一个日期,所以它不应该比当前时间有更大的毫秒值吗?
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
Calendar c1 = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
Calendar c2 = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
try {
c1.setTime(sdf.parse(res.getString(1)));
} catch (ParseException e) {
e.printStackTrace();
}
c2.getTime();
displayMsg.setText((c1.getTimeInMillis()-c2.getTimeInMillis())/(1000*60)+ " minutes");
答案 0 :(得分:0)
您的问题在这里:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
如果您查看Java docs,您会看到DD
表示"一年中的一天"而不是dd
,这是"每月的一天"。所以吧:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
答案 1 :(得分:0)
尽量不要参与此类纠纷,因为编写如此繁忙的代码永远不会更好。
在Github上使用Pretty Time Library ... Pretty Time Library
我认为你不需要任何帮助。
而不是你的问题不完整。以及尝试使用yyyy-MM-dd。