java中类似这种的时间怎么转为时间戳

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();
}

输出将是以毫秒为单位的时间戳。

时间戳的本质是日期+时间
而你这只有分钟,没有年月日,明显是个时间差,不是一个玩意