Android 如何将一个时间与另外两个提供的时间进行比较?
我一直很困惑。。就像我们在比较时间一样,绝对不推荐使用字符串。。。但是如果它的格式是(HH:mm:ss)。我应该如何比较它们来做某事 例如: 目标1:9:00:00 目标2:23:00:00 当输入大于Target1且小于Target2时,如何进行比较逻辑Android 如何将一个时间与另外两个提供的时间进行比较?,android,time,Android,Time,我一直很困惑。。就像我们在比较时间一样,绝对不推荐使用字符串。。。但是如果它的格式是(HH:mm:ss)。我应该如何比较它们来做某事 例如: 目标1:9:00:00 目标2:23:00:00 当输入大于Target1且小于Target2时,如何进行比较逻辑 if(input > Target1 && input < Target2){ //do statement A }else{ //do statement B } if(输入>目标1&&input)和小
if(input > Target1 && input < Target2){
//do statement A
}else{
//do statement B
}
if(输入>目标1&&input
所以,如果我的输入时间是10:00:00,它应该运行一个语句
如果输入时间是23:01:00,它应该运行语句B
我该怎么做?大于(>)和小于(如果它们是字符串,则可以将它们从SimpleDataFormat转换为日期对象
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
最简单的方法是通过执行以下操作将它们转换为毫秒数
long time1 = sdf.parse(Target1).getTime();
long time2 = sdf.parse(Target2).getTime();
long inputTime = sdf.parse(input).getTime();
这样,您实际上是在进行整数比较,您可以忘记所有的日期时间业务
if(inputTime > time1 && inputTime < time2)
if(inputTime>time1&&inputTime
但是您必须以上述格式提供时间您可以使用Calendar函数.getTimeInMillis()计算差异,并获得2个不同时间的差异,这里您只需要在Calendar中设置您的特定时间并与之进行比较
try{
Calendar calender = Calendar.getInstance();
Calendar calDb = Calendar.getInstance();
Calendar matchd = Calendar.getInstance();
mYear = calender.get(Calendar.YEAR);
mMonth = calender.get(Calendar.MONTH);
mDay = calender.get(Calendar.DAY_OF_MONTH);
mendYear = calDb.get(Calendar.YEAR);
mendMonth = calDb.get(Calendar.MONTH);
mendDay = calDb.get(Calendar.DAY_OF_MONTH);
// Here you can change day values
calDb.set(Calendar.DAY_OF_MONTH, mDay-1);
strbeforedate = mDateFormat.format(calDb.getTime());
curentdate = mDateFormat.format(calender.getTime());
calDb.setTime(mDateFormat.parse(strbeforedate));
calender.setTime(mDateFormat.parse(curentdate));
String mydate = "2013.03.14 03:11";
String mdatetime = "";
deletepath = new ArrayList<String>();
try{
// here your matching goes and pass date here
matchd.setTime(mDateFormat.parse(mdatetime));
long diff = calDb.getTimeInMillis() - calender.getTimeInMillis();
long matchdiff = matchd.getTimeInMillis() - calender.getTimeInMillis();
if(diff < matchdiff){
// do your work here
}else{
// do your else work here
}
}catch(Exception e){
e.printStackTrace();
}
}
}catch(Exception e){
e.printStackTrace();
}
}
试试看{
日历日历=Calendar.getInstance();
Calendar calDb=Calendar.getInstance();
Calendar matchd=Calendar.getInstance();
mYear=Calendar.get(Calendar.YEAR);
MONTH=Calendar.get(Calendar.MONTH);
mDay=Calendar.get(Calendar.DAY\u OF\u MONTH);
mendYear=calDb.get(日历年);
mendMonth=calDb.get(Calendar.MONTH);
mendDay=calDb.get(日历日期,每月的第天);
//在这里可以更改日值
calDb.set(日历日/月,mDay-1);
strbeforedate=mDateFormat.format(calDb.getTime());
currentdate=mDateFormat.format(calender.getTime());
setTime(mDateFormat.parse(strbeforedate));
calender.setTime(mDateFormat.parse(curentdate));
字符串mydate=“2013.03.14 03:11”;
字符串mdatetime=“”;
deletepath=newarraylist();
试一试{
//这是你的配对,在这里传递日期
setTime(mDateFormat.parse(mdatetime));
long diff=calDb.getTimeInMillis()-calender.getTimeInMillis();
long matchdiff=matchd.getTimeInMillis()-calendar.getTimeInMillis();
if(diff
请检查此链接。我在其他帖子中所述的“之后”和“之前”之前尝试过,但对我无效…=(您是否有任何异常?或者您没有得到正确的结果?
try{
Calendar calender = Calendar.getInstance();
Calendar calDb = Calendar.getInstance();
Calendar matchd = Calendar.getInstance();
mYear = calender.get(Calendar.YEAR);
mMonth = calender.get(Calendar.MONTH);
mDay = calender.get(Calendar.DAY_OF_MONTH);
mendYear = calDb.get(Calendar.YEAR);
mendMonth = calDb.get(Calendar.MONTH);
mendDay = calDb.get(Calendar.DAY_OF_MONTH);
// Here you can change day values
calDb.set(Calendar.DAY_OF_MONTH, mDay-1);
strbeforedate = mDateFormat.format(calDb.getTime());
curentdate = mDateFormat.format(calender.getTime());
calDb.setTime(mDateFormat.parse(strbeforedate));
calender.setTime(mDateFormat.parse(curentdate));
String mydate = "2013.03.14 03:11";
String mdatetime = "";
deletepath = new ArrayList<String>();
try{
// here your matching goes and pass date here
matchd.setTime(mDateFormat.parse(mdatetime));
long diff = calDb.getTimeInMillis() - calender.getTimeInMillis();
long matchdiff = matchd.getTimeInMillis() - calender.getTimeInMillis();
if(diff < matchdiff){
// do your work here
}else{
// do your else work here
}
}catch(Exception e){
e.printStackTrace();
}
}
}catch(Exception e){
e.printStackTrace();
}
}