将部分字符串转换为整数

Convert part of string to integer

我有两个类型为 unicode 和 str 的时间值,如下所示:

    time1 = "10:00 AM" #type: str
    time2 = "10:15 AM" #type: unicode

我想将 time1 和 time2 的整数部分即 10:00 和 10:15 转换为整数并检查 time2 > time1。

有什么方法可以将部分字符串和 unicode 转换为整数吗?

您应该改用 datetimetime,它们提供了比较日期时间对象的选项:

from datetime import datetime

time_obj1 = datetime.strptime(time1, '%I:%M %p')
time_obj2 = datetime.strptime(time2, '%I:%M %p')

if time_obj1 > time_obj2:
    ...

public static void main(String[] args) {

字符串 s1 =“上午 10:00”;

String s2 = "10:20 AM";
    int s1_mins = toMinutes(toNumber(s1));
    int s2_mins = toMinutes(toNumber(s2));
    if(s1_mins < s2_mins){
        System.out.println(s2 +" is more than "+ s1);
    }else{
        System.out.println(s1 +" is more than "+s2);
    }
}
private static String toNumber(String s) {
    String[] timeInNumber = s.split(" ");
    return timeInNumber[0];
}
private static int toMinutes(String s) {
    String[] hourMin = s.split(":");
    int hour = Integer.parseInt(hourMin[0]);
    int mins = Integer.parseInt(hourMin[1]);
    int hoursInMins = hour * 60;
    return hoursInMins + mins;
}

以上代码对你有帮助。