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(); を使用して、2 つの日付が同じではないことを確認しました。
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!");
}