23分56秒78,传过来的是这中时间格式的分钟加秒数加毫秒,String类型,怎么将他转为时间戳?
SimpleDateFormat 转换时间格式,然后可以转为时间,再使用date的getTime就可以获取到时间戳
SimpleDateFormat dateFormat = new SimpleDateFormat("mm'分'ss'秒'SSS");
Date newDate = dateFormat.parse(timeString);
long timetem= newDate.getTime() ;
在 Java 中,可以使用 java.time.* 包中的类来处理时间相关的操作,包括将时间转换为时间戳。
下面是一个示例代码,可以将类似 "23分56秒78" 的时间字符串转换为时间戳:
import java.time.*;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String timeStr = "23分56秒78";
// 解析时间字符串
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("m分ss秒SSS");
LocalTime localTime = LocalTime.parse(timeStr, formatter);
// 将 LocalTime 转换为 Instant 类型的时间戳
Instant instant = localTime.atDate(LocalDate.of(1970, 1, 1))
.atZone(ZoneId.systemDefault())
.toInstant();
long timestamp = instant.toEpochMilli();
System.out.println(timestamp);
}
}
可以使用Java的SimpleDateFormat类将字符串解析为Date对象,然后使用getTime()方法将其转换为时间戳。下面是一段示例代码:
String timeString = "23分56秒78";
DateFormat format = new SimpleDateFormat("mm分ss秒SSS");
try {
Date date = format.parse(timeString);
long timestamp = date.getTime();
System.out.println(timestamp);
} catch (ParseException e) {
e.printStackTrace();
}
输出将是以毫秒为单位的时间戳。
时间戳的本质是日期+时间
而你这只有分钟,没有年月日,明显是个时间差,不是一个玩意