您应该将实际Date
对象传递给format
,而不是long
:
SimpleDateFormat localDateFormat = new SimpleDateFormat("HH:mm:ss");
String time = localDateFormat.format(Utils.getDateObject(DateObject));
假设Utils.getDateObject(DateObject)
实际返回 a Date
(您的问题暗示但未实际说明),那应该可以正常工作。
例如,这完美地工作:
import java.util.Date;
import java.text.SimpleDateFormat;
public class SDF {
public static final void main(String[] args) {
SimpleDateFormat localDateFormat = new SimpleDateFormat("HH:mm:ss");
String time = localDateFormat.format(new Date());
System.out.println(time);
}
}
在下面回复您的评论:
谢谢TJ,但实际上我的时间仍然是00:00:00。
这意味着您的Date
对象的小时、分钟和秒都为零,如下所示:
import java.util.Date;
import java.text.SimpleDateFormat;
public class SDF {
public static final void main(String[] args) {
SimpleDateFormat localDateFormat = new SimpleDateFormat("HH:mm:ss");
String time = localDateFormat.format(new Date(2013, 4, 17)); // <== Only changed line (and using a deprecated API)
System.out.println(time);
}
}