在获得某个特定日期的时间时,我会得到负值。可能是什么原因。我的代码是这样的。我有两个字符串值,它存储创建和截止日期,并分别创建两个日期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
答案 0 :(得分:1)
用于解析的数据格式与指定日期的方式不匹配。你得到的日期是在8年。
答案 1 :(得分:1)
您的日期格式错误。你需要改为
datesdf=new SimpleDateFormat("dd-MM-yyyy");
假设8-1-2013代表2013年1月8日。