版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zimiao552147572/article/details/89947450
注意:这个实现奇怪的是 "12:00:00" 也判断为 "00:00:00"
例子:System.out.println(isInTime("00:00:00-00:01:00", "12:00:00"));
package com.nginxlog;
import java.io.RandomAccessFile;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class NowString {
public static void main(String[] args) {
// System.out.println((new java.text.SimpleDateFormat("hh:mm:ss")).format(new Date()));
// System.out.println(isInTime("10:00:00-10:23:00", (new java.text.SimpleDateFormat("hh:mm:ss")).format(new Date())));
// System.out.println();
// System.out.println(isInTime("23:00:00-24:00:00", "24:00:00"));
// System.out.println(isInTime("23:00:00-00:00:00", "23:00:00"));
// System.out.println(isInTime("23:00:00-00:00:00", "00:00:00"));
// System.out.println(isInTime("23:00:00-00:00:00", "00:00:05"));
// System.out.println(isInTime("00:00:00-00:00:60", "00:00:59"));
// System.out.println(isInTime("00:00:00-00:01:00", "12:00:00"));
// System.out.println(isInTime("23:24:00-23:24:36", "23:24:11"));
// System.out.println(isInTime("00:00:00-00:01:00", "00:00:02"));
// System.out.println(isInTime("00:00:00-00:01:00", "00:01:00"));
System.out.println((new java.text.SimpleDateFormat("HH:mm:ss")).format(new Date()));
System.out.println(isInTime("16:08:48-16:27:40", (new java.text.SimpleDateFormat("HH:mm:ss")).format(new Date())));
System.out.println();
System.out.println(isInTime("00:00:00-00:05:00","12:44:05" )); //true
System.out.println(isInTime("00:00:00-00:05:00","00:00:02" ));//true
System.out.println(isInTime("00:00:00-00:05:00","24:00:00" ));//false
System.out.println(isInTime("00:00:00-00:05:00","00:05:00" ));//false
System.out.println(isInTime("00:00:00-00:05:00","00:05:01" ));//false
System.out.println(isInTime("00:00:00-00:05:00","00:04:59" ));//true
System.out.println(isInTime("00:00:00-00:05:00","23:59:59" ));//false
System.out.println(isInTime("00:00:00-00:05:00","00:02:00" ));//true
System.out.println(isInTime("00:00:00-00:05:00","02:00:00" ));//false
String s = "12:44:05";
String[] split = s.split(":");
if("12".equals(split[0]))
{
System.out.println(split[0]);
}
// System.out.println("'---------------'");
// SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");//设置日期格式
// String format1 = df.format(new Date());
// System.out.println(format1);
// System.out.println("'---------------'");
//
// Calendar calendar= Calendar.getInstance();
// SimpleDateFormat dateFormat= new SimpleDateFormat("HH:mm:ss");
// String format2 = dateFormat.format(calendar.getTime());
// System.out.println(format2);
}
/**
* 判断某一时间是否在一个区间内
*
* 注意:这个实现奇怪的是 "12:00:00" 也判断为 "00:00:00",例子 System.out.println(isInTime("00:00:00-00:01:00", "12:00:00"));
* @param sourceTime
* 时间区间,半闭合,如[10:00-20:00)
* @param curTime
* 需要判断的时间 如10:00
* @return
* @throws IllegalArgumentException
*/
public static boolean isInTime(String sourceTime, String curTime)
{
if (sourceTime == null || !sourceTime.contains("-") || !sourceTime.contains(":")) {
throw new IllegalArgumentException("Illegal Argument arg:" + sourceTime);
}
if (curTime == null || !curTime.contains(":")) {
throw new IllegalArgumentException("Illegal Argument arg:" + curTime);
}
String[] args = sourceTime.split("-");
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss");
try {
long now = sdf.parse(curTime).getTime();
long start = sdf.parse(args[0]).getTime();
long end = sdf.parse(args[1]).getTime();
if (args[1].equals("00:00:00")) {
args[1] = "24:00:00";
}
if (end < start) {
if (now >= end && now < start) {
return false;
} else {
return true;
}
}
else {
if (now >= start && now < end) {
return true;
} else {
return false;
}
}
} catch (ParseException e) {
e.printStackTrace();
throw new IllegalArgumentException("Illegal Argument arg:" + sourceTime);
}
}
}