java中有一个字符串时间str = 18:00,怎么样求出今天18:00的时间戳
时间: 2024-10-23 08:13:45 浏览: 24
在Java中,你可以使用`java.time`包下的`LocalTime`类来处理单独的时间部分,并结合当前日期来获取特定时间点的Unix时间戳(也称为"epoch time")。这里是一个示例步骤:
```java
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
public long getTimeStamp(String str) {
// 解析时间字符串(假设格式固定为"HH:mm")
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");
LocalTime time = LocalTime.parse(str);
// 获取今天的日期
LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault());
// 结合日期创建LocalDateTime对象,然后转换为Unix时间戳(毫秒)
LocalDateTime dateTime = LocalDateTime.of(now.toLocalDate(), time);
return dateTime.atOffset(ZoneOffset.UTC).toInstant().toEpochMilli();
}
```
这个函数会返回今天18:00的UTC时间戳。如果你需要其他时区的时间戳,可以替换`ZoneId.systemDefault()`。
阅读全文