从日期对象中获取时间

the*_*ava 6 java time date

我有一个日期对象,我需要getTime().问题是它总是显示出来00:00:00.

SimpleDateFormat localDateFormat = new SimpleDateFormat("HH:mm:ss");
long date = Utils.getDateObject(DateObject).getTime();
String time = localDateFormat.format(date);
Run Code Online (Sandbox Code Playgroud)

为什么总是时间'00:00:00'.我应该追加Time to my Date Object

T.J*_*der 19

您应该将实际Date对象传递给format,而不是long:

SimpleDateFormat localDateFormat = new SimpleDateFormat("HH:mm:ss");
String time = localDateFormat.format(Utils.getDateObject(DateObject));
Run Code Online (Sandbox Code Playgroud)

假设Utils.getDateObject(DateObject)实际上返回的是什么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);
    }
}
Run Code Online (Sandbox Code Playgroud)

你的评论如下:

谢谢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);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @theJava:当问题或答案与问题或答案相关时,我不会进行SO聊天.(坦率地说,我觉得这很愚蠢,除非是一个很酷的地方.) (2认同)