【发布时间】:2015-02-25 19:31:04
【问题描述】:
目标是比较 2 次,1 次来自 android 设备,另一次来自数据库服务器(在 epoch 中),http://www.epochconverter.com/ 如果一个时间比另一个时间新,则应添加一个值(在列表视图中标记为新,newItem = true;)。 提供的时间已经使用 (simpledateformat) 转换为字符串输出(今天、一个月中的某天、昨天)。
比较“在”转换为字符串之前的两个(纪元)时间的最简单方法是什么?我已经在 stackoverflow 上进行了一些搜索,但我不确定哪一个最适合我的目标。
private String getDateString(final Date d) {
if (d == null)
return "";
int[] elements1, elements2;
elements1 = getDateElements(System.currentTimeMillis()); <-- current time
elements2 = getDateElements(d.getTime()); <-- db time
if (elements1[0] == elements2[0] && elements1[1] == elements2[1]) {
if (elements1[2] == elements2[2])
return "Today";
final Calendar c = Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
c.add(Calendar.DAY_OF_MONTH, -1);
elements1 = getDateElements(c.getTimeInMillis());
if (elements1[2] == elements2[2])
return "Yesterday";
}
return Util.formatDate(d);
}
public static String formatDate(final long dt) {
return formatDate(new Date(dt));
}
public static String formatDate(final Date date) {
final DateFormat df = DateFormat.getDateTimeInstance(DateFormat.SHORT,
DateFormat.SHORT);
return df.format(date);
}
【问题讨论】:
-
你试过 Date 类中的
after方法吗?类似new Date().after(db time)... -
嗨 Diego,Thx,还没有,我首先要确保 i
m catching the correct data, as everything is comming from SQL db and im 没有进入 SQL,但我认为我在正确的轨道上。