java时间戳秒转时间
时间: 2023-11-24 21:52:37 浏览: 83
以下是Java将时间戳转换为时间的方法:
```java
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sdf.format(new Date(timestamp * 1000));
System.out.println(format);
```
其中,`timestamp`是时间戳,单位为秒。需要将其乘以1000转换为毫秒,再传入`Date`的构造函数中,最后使用`SimpleDateFormat`格式化输出即可。
另外,如果你需要将时间戳转换为其他格式的时间,只需要修改`SimpleDateFormat`中的格式即可。
相关问题
java时间戳转日期时间
在Java中,将时间戳转换为日期时间通常使用`java.util.Date`或其更现代的替代品`java.time.LocalDate`和`LocalDateTime`。以下是两种方法:
1. **使用Date类** (已过时,推荐替换为`Local*`系列):
```java
long timestamp = 1609459200000; // 假设这是某个时间戳
Date date = new Date(timestamp);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(date);
```
2. **使用Local类** (Java 8及以上推荐):
```java
Instant instant = Instant.ofEpochMilli(timestamp);
LocalDateTime localDateTime = instant.atOffset(ZoneOffset.UTC); // 使用UTC时区
LocalDate localDate = localDateTime.toLocalDate();
LocalTime localTime = localDateTime.toLocalTime();
String formattedDateTime = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + " " + localTime.format(DateTimeFormatter.ofPattern("HH:mm:ss"));
```
在这个例子中,`timestamp`是一个表示自1970年1月1日以来秒数的毫秒值。`Instant`类提供了一个无时区的时间点,然后通过`atOffset`转换到所需的时区。
java时间戳转日期带时间
在Java中,你可以使用`java.util.Date`或其后代类`java.time.LocalDateTime`将时间戳转换为包含日期和时间的对象。这里我们来看一下如何使用两者:
1. 使用`Date`类:
```java
import java.util.Date;
import java.text.SimpleDateFormat;
public String timestampToDate(long timestamp) {
Date date = new Date(timestamp * 1000); // 时间戳通常是秒级,乘以1000转换为毫秒
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return formatter.format(date);
}
```
2. 使用`LocalDateTime`类(Java 8及以上版本):
```java
import java.time.LocalDateTime;
import java.time.ZoneId;
public String timestampToLocalDateTime(long timestamp) {
LocalDateTime dateTime = LocalDateTime.ofInstant(Instant.ofEpochMilli(timestamp), ZoneId.systemDefault());
return(dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
}
```
在这两个例子中,你需要提供一个合适的格式字符串来指定日期和时间的显示格式。
阅读全文