1

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

日志猫::

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
4

2 回答 2

1

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

于 2013-02-08T06:15:55.673 回答
1

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

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

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

于 2013-02-08T10:30:15.760 回答