java怎么把时间戳转为本地时间
时间: 2024-05-04 22:16:48 浏览: 79
可以使用Java中的java.util.Date和java.text.SimpleDateFormat类来将时间戳转换为本地时间。
以下是一个示例代码:
```java
long timestamp = 1621296000000L; // 毫秒级时间戳
Date date = new Date(timestamp);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String localTime = sdf.format(date);
System.out.println(localTime);
```
在上面的示例中,我们首先创建了一个long类型的时间戳,然后使用Date类将其转换为Date对象。接着使用SimpleDateFormat类将Date对象格式化为本地时间的字符串,最后将其打印出来。
需要注意的是,SimpleDateFormat类的构造函数中传入的字符串是格式化时间的模板。例如,上面的示例中,"yyyy-MM-dd HH:mm:ss"表示年份-月份-日期 小时:分钟:秒钟的格式。
另外,需要注意的是,上面的代码中使用的是毫秒级时间戳,如果你有秒级时间戳,需要将其乘以1000转换为毫秒级时间戳。
相关问题
java把时间戳转为本地时间后,和现实时间差了8小时怎么办
这个问题通常是由于时区的原因造成的。Java中的时间戳是以UTC时间为基准的,而本地时间则受本地时区影响。如果你的本地时区与UTC时间相差8个小时,那么你将会看到一个差异。要解决这个问题,你需要将时区设置为正确的时区。可以通过以下方式设置:
```java
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
```
在这个例子中,我将时区设置为亚洲/上海。你可以根据自己的需要设置适当的时区。在设置时区后,你可以使用SimpleDateFormat类将时间戳转换为本地时间:
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getDefault());
String localTime = sdf.format(new Date(timestamp));
```
在这个例子中,我将格式化字符串设置为“yyyy-MM-dd HH:mm:ss”,并将时区设置为默认时区。最后,我使用Date类将时间戳转换为日期对象,并使用SimpleDateFormat类将日期对象格式化为本地时间。
Java中把时间戳转为本地时间
可以使用Java中的SimpleDateFormat类进行转换,具体代码如下:
```
long timestamp = 1597920000; // 时间戳
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String localTime = sdf.format(new Date(timestamp * 1000L));
System.out.println("本地时间:" + localTime);
```
这段代码将时间戳转为本地时间,并且格式化输出。
阅读全文