将时间字符串转换为长值?

时间:2013-11-13 03:43:41

标签: java

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

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 + "");

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

2 个答案:

答案 0 :(得分: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;

}

试试这个。

答案 1 :(得分:0)

我试过,但输出没有负值。在来回转换之后,您已经删除了年,月和日值。所以从解析方法返回的dt已设置为1970-01-04。