在获取特定日期的时间时,我得到负值。可能是什么原因。我的代码是这样的。我有两个字符串值,分别存储创建日期和到期日期以及创建日期date1和date2。当我检查长值时,我会得到负值。我的Logcat也在那里。
Log.i("Cdate ",cdate);
Log.i("Ddate ",ddate);
datesdf=new SimpleDateFormat("yyyy-MM-dd");
try
{
date1=datesdf.parse(cdate);
date2=datesdf.parse(ddate);
}
catch (ParseException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
long creationdate=date1.getTime();
long duedatee=date2.getTime();
Log.i("Creation date",Long.toString(creationdate));
Log.i("Due date",Long.toString(duedatee));
Logcat::
02-08 11:29:10.020: I/Cdate(1244): 8-1-2013
02-08 11:29:10.020: I/Ddate(1244): 08-0-2013
02-08 11:29:10.030: I/Creation date(1244): -61741117800000
02-08 11:29:10.030: I/Due date(1244): -61743796200000
用于解析的数据格式与指定日期的方式不匹配。你得到的日期是8年。
您的日期格式错误。您需要更改为
datesdf=new SimpleDateFormat("dd-MM-yyyy");
假设2013年8月8日代表2013年1月8日。