我从twitter状态Feed获取日期。
我想找出所有最新的更新(过去24小时)
long referenceTime =System.currentTimeMillis()-(24*60*60*1000);
//ti.getDateTime() returns the string time returned from twitter..
long statusTime =DateUtil.convertStringToDate(ti.getDateTime(), "EEE MMM dd HH:mm:ss ZZZZZ yyyy").getTime();
if(statusTime>referenceTime )
{
Log.d(TAG,"Recent update");
}
现在,对于以下日期,它将返回“最近更新” //当前系统时间2011年9月30日上午9:52
Thu Sep 29 11:28:16 +0000 2011 // Correct
Thu Sep 29 11:33:07 +0000 2011 // Correct
Fri Mar 25 16:15:05 +0000 2011 // Incorrect
Tue Mar 22 19:32:38 +0000 2011 // Incorrect
Sat Jul 24 12:05:49 +0000 2010 // Incorrect
Wed Jul 14 23:56:27 +0000 2010 // Incorrect
[这些是ti.getDateTime()返回的字符串。 为什么会这样?
并且它几乎是随机的,因为以下日期不会打印日志。
Fri Jul 09 22:07:53 +0000 2010
Fri Jul 09 21:17:23 +0000 2010
Tue Apr 26 22:33:59 +0000 2011
DateUtil:
public static final Date convertStringToDate(String date, String entryFormat) {
Date theDate = null;
try {
//SimpleDateFormat formatter = new SimpleDateFormat( "MMMM d, yyyy");"yyyy-mm-dd"
SimpleDateFormat formatter = new SimpleDateFormat( entryFormat);
theDate = formatter.parse(date);
} catch (Exception e){
}
return theDate;
}