date.getTIme()的负值

时间:2013-02-08 06:11:42

标签: android date datetime

在获得某个特定日期的时间时,我会得到负值。可能是什么原因。我的代码是这样的。我有两个字符串值,它存储创建和截止日期,并分别创建两个日期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

2 个答案:

答案 0 :(得分:1)

用于解析的数据格式与指定日期的方式不匹配。你得到的日期是在8年。

答案 1 :(得分:1)

您的日期格式错误。你需要改为

 datesdf=new SimpleDateFormat("dd-MM-yyyy"); 

假设8-1-2013代表2013年1月8日。