| | |
| | | import javax.annotation.Resource; |
| | | import java.time.LocalDateTime; |
| | | import java.time.ZoneOffset; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | GoodsSeckill goodsSeckill = goodsSeckillService.getOne(new LambdaQueryWrapper<GoodsSeckill>().eq(GoodsSeckill::getSeckillActivityInfoId, one.getId()).eq(GoodsSeckill::getVip, info.getVip())); |
| | | if(null != goodsSeckill){ |
| | | LocalDateTime endTime = one.getEndTime(); |
| | | // // 转时间戳 |
| | | // 转时间戳 |
| | | long timeStamp = endTime.toInstant(ZoneOffset.of("+8")).toEpochMilli(); |
| | | goodsSeckill.setEndTime(timeStamp); |
| | | } |
| | | return R.ok(goodsSeckill); |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | // 创建 LocalDateTime 对象 |
| | | LocalDateTime localDateTime = LocalDateTime.of(2025, 1, 16, 9, 34, 55); |
| | | |
| | | // 转换为 UTC 时间戳(毫秒) |
| | | long l = localDateTime.toEpochSecond(ZoneOffset.UTC) * 1000; |
| | | System.out.println("UTC 时间戳: " + l); |
| | | |
| | | // 转换为 UTC+8 时间戳(毫秒) |
| | | long l2 = localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli(); |
| | | System.out.println("UTC+8 时间戳: " + l2); |
| | | |
| | | // 将时间戳转换为 yyyy-MM-dd HH:mm:ss 格式的字符串 |
| | | String utcTime = formatTimestamp(l, ZoneOffset.UTC); |
| | | String utcPlus8Time = formatTimestamp(l2, ZoneOffset.of("+8")); |
| | | |
| | | System.out.println("UTC 时间: " + utcTime); |
| | | System.out.println("UTC+8 时间: " + utcPlus8Time); |
| | | } |
| | | |
| | | /** |
| | | * 将时间戳转换为指定时区的 yyyy-MM-dd HH:mm:ss 格式字符串 |
| | | * |
| | | * @param timestamp 时间戳(毫秒) |
| | | * @param zoneOffset 时区偏移量 |
| | | * @return 格式化后的时间字符串 |
| | | */ |
| | | private static String formatTimestamp(long timestamp, ZoneOffset zoneOffset) { |
| | | return LocalDateTime.ofEpochSecond(timestamp / 1000, 0, zoneOffset) |
| | | .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); |
| | | } |
| | | |
| | | |
| | | |