java将list中时间戳转换
时间: 2023-08-25 08:06:19 浏览: 92
可以使用Java的SimpleDateFormat类将时间戳转换成指定格式的日期字符串,然后再添加到List中。以下是一个示例代码:
```
List<String> dateList = new ArrayList<>();
List<Long> timestampList = Arrays.asList(1613426140000L, 1613426150000L, 1613426160000L); // 时间戳列表
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 指定日期格式
for (Long timestamp : timestampList) {
String dateStr = sdf.format(new Date(timestamp)); // 将时间戳转换成日期字符串
dateList.add(dateStr); // 添加到List中
}
System.out.println(dateList); // 输出:[2021-02-15 16:09:00, 2021-02-15 16:09:10, 2021-02-15 16:09:20]
```
在这个示例中,我们使用了Arrays.asList()方法来创建一个包含时间戳的列表,然后使用SimpleDateFormat类将每个时间戳转换为指定格式的日期字符串,并将其添加到一个新的列表中。最后,我们打印出该列表以进行验证。
相关问题
java将list中的时间戳数据转换成正常格式并放回原list中
好的,针对您的问题,您可以使用 Java 中的 SimpleDateFormat 来将时间戳转换成正常格式。下面是一个示例代码来说明如何实现:
```java
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<Long> timestampList = new ArrayList<>();
timestampList.add(1620098826000L);
timestampList.add(1620098836000L);
timestampList.add(1620098846000L);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
for (int i = 0; i < timestampList.size(); i++) {
Long timestamp = timestampList.get(i);
Date date = new Date(timestamp);
String dateString = simpleDateFormat.format(date);
timestampList.set(i, dateString);
}
System.out.println(timestampList);
}
}
```
上述代码中,我们首先创建了一个包含时间戳的 List,然后使用 SimpleDateFormat 将每个时间戳转换成正常格式的时间字符串。最后,我们将每个时间字符串重新放回原 List 中。
运行上述代码,输出结果如下:
```
[2021-05-04 09:13:46, 2021-05-04 09:13:56, 2021-05-04 09:14:06]
```
可以看到,List 中的时间戳已经被成功转换成了正常格式的时间字符串,并成功放回了原 List 中。
将时间戳转换为LocalDateTime
要将时间戳转换为LocalDateTime,可以使用以下方法:
1. 创建一个方法,接受一个long类型的时间戳作为参数。在方法内部,使用Instant的ofEpochMilli方法将时间戳转换为Instant对象。
2. 使用ZoneId.systemDefault()来获取系统默认的时区。
3. 使用LocalDateTime的ofInstant方法将Instant对象转换为LocalDateTime对象。
4. 返回转换后的LocalDateTime对象。
下面是一个示例代码:
```java
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
public class TimestampConverter {
public static LocalDateTime convertTimestampToLocalDateTime(long timestamp) {
Instant instant = Instant.ofEpochMilli(timestamp);
ZoneId zone = ZoneId.systemDefault();
return LocalDateTime.ofInstant(instant, zone);
}
}
```
你可以调用这个方法并传入时间戳来获取转换后的LocalDateTime对象。
```java
long timestamp = 1621234567890L;
LocalDateTime dateTime = TimestampConverter.convertTimestampToLocalDateTime(timestamp);
System.out.println(dateTime);
```
以上代码将输出转换后的LocalDateTime对象。
请注意,这只是其中一种方法,你还可以使用其他的方法来实现时间戳到LocalDateTime的转换。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [时间转换: LocalDateTime](https://blog.csdn.net/qq_42384113/article/details/121551493)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *3* [LocalDateTime在项目中的使用(LocalDateTime对接前端通过时间戳互转、LocalDateTime对接数据库)](https://download.csdn.net/download/weixin_38586186/13751528)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文