Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否将时间字符串转换为长值?_Java - Fatal编程技术网

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

Java 是否将时间字符串转换为长值?,java,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.printStac

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

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 + "");
这里我得到的是负值毫秒(当前时间)。 请帮我解决这个问题

 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;

}

试试这个。

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

在我的情况下,它给了我负输出,我也在寻找解决方案。它是否与时区值相关?可能是,但不确定。