仅从时间戳中获取日期

AKI*_*WEB 10 java timestamp date

这是我的下面函数,我在其中传递时间戳,我只需要从时间戳返回的日期而不是小时和秒.以下代码我得到 -

private String toDate(long timestamp) {
        Date date = new Date (timestamp * 1000);
        return DateFormat.getInstance().format(date).toString();
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出.

11/4/01 11:27 PM
Run Code Online (Sandbox Code Playgroud)

但我只需要这样的日期

2001-11-04
Run Code Online (Sandbox Code Playgroud)

有什么建议?

s10*_*6mo 20

请改用SimpleDateFormat:

private String toDate(long timestamp) {
    Date date = new Date(timestamp * 1000);
    return new SimpleDateFormat("yyyy-MM-dd").format(date);
}
Run Code Online (Sandbox Code Playgroud)

更新:Java 8解决方案:

private String toDate(long timestamp) {
    LocalDate date = Instant.ofEpochMilli(timestamp * 1000).atZone(ZoneId.systemDefault()).toLocalDate();
    return date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
}
Run Code Online (Sandbox Code Playgroud)