因此,Android SDK 中的 [DateUtils.getRelativeTimeSpanString()][1] 非常适合显示过去的相对时间。
即:5 天前或 5 分钟前。
但对于未来的日期似乎不太适用。好像只是打印日期。
是否有任何简单的替代方法可以为未来的日期生成相对时间跨度字符串(缺少通过比较两个日历对象来计算天、小时、分钟、秒的东西)?
一些很长的台词:5 天后,还是 5 分钟内?
这基本上就是我要做的,它看起来有点脏(注意:这段代码只是为了这篇文章而编写的,实际上并没有通过 java 编译器运行):
Calendar calendarIO = Calendar.getInstance();
calendarIO.set(2013, 2, 14, 7, 0);
long milliseconds1 = calendarIO.getTimeInMillis();
long milliseconds2 = System.currentTimeMillis();
long diff = milliseconds1 - milliseconds2;
long diffSeconds = diff / 1000;
long diffMinutes = diff / (60 * 1000);
long diffHours = diff / (60 * 60 * 1000);
long diffDays = diff / (24 * 60 * 60 * 1000);
String relativeTime = "";
if (diffDays > 1) {
relativeTime = diffDays + " days";
} else if (diffDays > 0) {
relativeTime = diffDays + " days " + diffHours + " hours";
} else if (diffHours > 1) {
relativeTime = diffHours + " hours";
} else if (diffMinutes > 0) {
relativeTime = diffMinutes + " minutes.";
}
我会尝试使用DateUtils.getRelativeTimeSpanString(time, now, minResolution)
因为它适用于使用“n 天”格式的未来日期。
http://developer.android.com/reference/android/text/format/DateUtils.html#getRelativeTimeSpanString
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)