1

我正在尝试获取字符串的长值。

final long date = System.currentTimeMillis();
Date dt = new Date(date);
SimpleDateFormat sdf = new SimpleDateFormat(" HH:mm aa");
String time1 = sdf.format(dt);
 try {
 dt = sdf.parse(time1); 
} catch (ParseException e) 
{  
e.printStackTrace();  
}
long millis = dt.getTime();
Log.d("Current time", millis + "");

在这里,我得到毫秒(当前时间)的负值。请帮我解决这个问题。

4

2 回答 2

3
 public static long getLongDate(String d) { 
    long dateInLong = 0;
    try {

        DateFormat formatter = new SimpleDateFormat("MM-dd-yyyy");
        Date date = formatter.parse(d);
        dateInLong = date.getTime();


    } catch (Exception e) {
        Log.d(Constants.TAG, "" + e.getMessage());
    }

    return dateInLong;

}

尝试这个。

于 2013-11-13T03:57:08.983 回答
0

我试过了,但输出不是负值。来回转换后,您已经删除了年、月和日值。因此,您从 parse 方法返回的 dt 已设置为 1970-01-04。

于 2013-11-13T05:12:44.973 回答