美文网首页
阿健的刷题库函数|MyTime

阿健的刷题库函数|MyTime

作者: 阿健在长安 | 来源:发表于2018-08-14 18:08 被阅读9次
package wsj;

/**
 * 当前类所有函数
 * -------------
 * 判断某时刻str1是否在时间段str2内:isInTime()
 * 计算当前时刻到下一时刻有多少秒,numDay为两个时刻相隔的天数:getSeconds()
 */

import java.sql.Time;

public class MyTime {
    // 判断某时刻str1是否在时间段str2内
    public static boolean isInTime(String str1, String str2) {
        // String str1 = "2:00:02";
        // String str2 = "3:00:02-20:00:02";
        Time curTime = Time.valueOf(str1);
        String[] strings = str2.split("-");
        Time leftTime = Time.valueOf(strings[0]);
        Time rightTime = Time.valueOf(strings[1]);
        if (curTime.after(leftTime) && curTime.before(rightTime)) {
            return true;
        } else {
            return false;
        }
    }

    // 计算当前时刻到下一时刻有多少秒,numDay为两个时刻相隔的天数
    public static long getSeconds(String timeCur, String timeNext, int numDay) {
        String[] strings = timeNext.split(":");
        int hour = Integer.parseInt(strings[0]);
        int minute = Integer.parseInt(strings[1]);
        int second = Integer.parseInt(strings[2]);
        long second1 = hour * 3600 + minute * 60 + second;

        strings = timeCur.split(":");
        hour = Integer.parseInt(strings[0]);
        minute = Integer.parseInt(strings[1]);
        second = Integer.parseInt(strings[2]);
        long daySeconds = 24 * 3600;
        if (numDay == 0) {
            long second2 = hour * 3600 + minute * 60 + second;
            return second1 - second2;
        } else {
            long second2 = daySeconds - (hour * 3600 + minute * 60 + second);
            return second1 + second2 + daySeconds * (numDay - 1);
        }
    }

    public static void main(String[] args) {
        // 测试isInTime()
        String str1 = "12:00:02";
        String str2 = "3:00:02-20:00:02";
        System.out.println(isInTime(str1, str2));

        System.out.println("---");

        // 测试getSeconds()
        String str3 = "23:58:59";
        String str4 = "23:59:59";
        String str5 = "00:00:02";
        System.out.println(getSeconds(str3, str4, 0));
        System.out.println(getSeconds(str4, str5, 1));
    }

}

相关文章

网友评论

      本文标题:阿健的刷题库函数|MyTime

      本文链接:https://www.haomeiwen.com/subject/lxavbftx.html