您的位置:

Java时间戳转时间

Java时间戳转时间

更新:

时间戳是自1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。在Java中,可以通过Date类和SimpleDateFormat类将时间戳转换为日期时间。

一、使用Date类和SimpleDateFormat类

这个类接受一个参数(毫秒),这可以直接用时间戳来初始化。然后使用SimpleDateFormat类以特定的格式来显示日期。

import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        Long timeStamp = System.currentTimeMillis();  //获取当前时间戳
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        String sd = sdf.format(new Date(Long.parseLong(String.valueOf(timeStamp))));
        System.out.println(sd);
    }
}

在上面的例子中首先获得了当前的时间戳,然后创建了一个简单的日期格式,然后将时间戳转换为日期。

二、使用Instant类和DateTimeFormatter类

另外,Java8引入了新的日期和时间API,可以使用Instant类和DateTimeFormatter类来替代Date类和SimpleDateFormat类。

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        Long timeStamp = System.currentTimeMillis();
        LocalDateTime localDateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(timeStamp), ZoneId.systemDefault());
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println(localDateTime.format(dateTimeFormatter)); 
    }
}

在这个例子中,首先使用Instant.ofEpochMilli方法将时间戳转换为Instant对象,然后使用LocalDateTime.ofInstant方法将Instant对象转换为LocalDateTime对象,最后通过DateTimeFormatter对LocalDateTime进行格式化。