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