我有一个在我的 Android 应用程序中解析的 XML 文件。如果文件没有更改,我不想解析它。
我可以获得上次修改文件的时间,并且可以从 GMT 的服务器标头中获得上次修改的日期,但不知道现在该怎么办......
//this is a string: status.getHeader("last-modified");
//Shows like so: Tue, 05 March 2013 16:45:02 GMT
String serverlastmodified = status.getHeader("last-modified");
Log.e("Header",serverlastmodified);
Date s = status.getTime();
String filelastgotten = s.toGMTString();
//String shows like so: 5 Mar 2013 19:41:43 GMT
Log.e("LM", filelastgotten);
//this needs to be a great-than / less-than?
//But I cannot do that to a string... so change to int?
if(serverlastmodified.equals(filelastgotten)){
Log.e(TAG,"YES!");
}else{
Log.e(TAG,"NO!");
}
编辑:::::::::
这看起来怎么样?
我最终只是使用 SimpleDateFormat 和 toGMTString(); 确保两个日期不相同。
String serverLastModified = status.getHeader("last-modified");
SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyy HH:mm:ss zzz");
Date d = null;
try {
d = sdf.parse(serverLastModified);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Date fileLastGotten = status.getTime();
Log.e("DATE1", d.toGMTString());
Log.e("DATE2", fileLastGotten.toGMTString());
if (d.before(fileLastGotten)) {
Log.e("DS", "YES!");
} else {
Log.e("DS", "NO!");
}