当前位置:首页 > Java API 与类库手册 > 正文

Java优学网LocalDateTime入门解析:轻松掌握Java 8日期时间处理技巧

LocalDateTime currentTime = LocalDateTime.now();

LocalDateTime datetime = LocalDateTime.of(2023, 10, 15, 14, 30, 45);

int year = datetime.getYear(); // 2023 Month month = datetime.getMonth(); // OCTOBER int monthValue = datetime.getMonthValue(); // 10 int day = datetime.getDayOfMonth(); // 15 int hour = datetime.getHour(); // 14 int minute = datetime.getMinute(); // 30 int second = datetime.getSecond(); // 45

Java优学网LocalDateTime入门解析:轻松掌握Java 8日期时间处理技巧

LocalDateTime datetime = LocalDateTime.of(2023, 10, 15, 14, 30, 45);

// 使用预定义格式器 String isoFormat = datetime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME); // "2023-10-15T14:30:45"

Java优学网LocalDateTime入门解析:轻松掌握Java 8日期时间处理技巧

String basicFormat = datetime.format(DateTimeFormatter.BASIC_ISO_DATE); // "20231015"

// LocalDateTime 转 Date LocalDateTime localDateTime = LocalDateTime.now(); Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());

Java优学网LocalDateTime入门解析:轻松掌握Java 8日期时间处理技巧

// Date 转 LocalDateTime Date oldDate = new Date(); LocalDateTime newLocalDateTime = oldDate.toInstant()

.atZone(ZoneId.systemDefault())
.toLocalDateTime();

// 记录操作时间点 LocalDateTime operationTime = LocalDateTime.now(); log.info("用户 {} 在 {} 执行了登录操作", userId, operationTime);

// 格式化日志时间 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedTime = operationTime.format(formatter); log.debug("当前操作时间:{}", formattedTime);

// 错误示例:误以为LocalDateTime包含时区 LocalDateTime localTime = LocalDateTime.now(); // 直接存储到数据库,不同时区的用户看到的时间会不一致

// 正确做法:明确时区转换 ZonedDateTime zonedTime = localTime.atZone(ZoneId.systemDefault()); Instant instant = zonedTime.toInstant();

你可能想看:

相关文章:

文章已关闭评论!