android 如何判断是否在时间段 范围内

Saraphines 2012-06-06 04:40:01
我想做一个判断 判断一个时间段 比如9:00-12:00

怎么判断 当前时间是否在这个时间内!求各位 帮下忙 小弟感激不尽!

只判断小时和分钟 小时我会判断 分钟 有点绕不出来了
...全文
4077 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Richard_tan0113 2014-12-12
  • 打赏
  • 举报
回复
1.如果是24小时制的话,格式化字符串,9:00格式化为09:00,12:00不用变,然后比较字符串就好了 这个怎么实现?楼主会了吗?
baojiarui 2014-05-07
  • 打赏
  • 举报
回复
引用 4 楼 RDroid 的回复:

Calendar cal = Calendar.getInstance();// 当前日期
int hour = cal.get(Calendar.HOUR_OF_DAY);// 获取小时
int minute = cal.get(Calendar.MINUTE);// 获取分钟
int minuteOfDay = hour * 60 + minute;// 从0:00分开是到目前为止的分钟数
final int start = 17 * 60 + 20;// 起始时间 17:20的分钟数
final int end = 19 * 60;// 结束时间 19:00的分钟数
if (minuteOfDay >= start && minuteOfDay <= end) {
	System.out.println("在外围内");
} else {
	System.out.println("在外围外");
}
thanks
Saraphines 2012-06-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

Java code

Calendar cal = Calendar.getInstance();// 当前日期
int hour = cal.get(Calendar.HOUR_OF_DAY);// 获取小时
int minute = cal.get(Calendar.MINUTE);// 获取分钟
int minuteOfDay = hour * 60 + minute;// 从0:00分……
[/Quote]
谢谢!
RDroid 2012-06-06
  • 打赏
  • 举报
回复

Calendar cal = Calendar.getInstance();// 当前日期
int hour = cal.get(Calendar.HOUR_OF_DAY);// 获取小时
int minute = cal.get(Calendar.MINUTE);// 获取分钟
int minuteOfDay = hour * 60 + minute;// 从0:00分开是到目前为止的分钟数
final int start = 17 * 60 + 20;// 起始时间 17:20的分钟数
final int end = 19 * 60;// 结束时间 19:00的分钟数
if (minuteOfDay >= start && minuteOfDay <= end) {
System.out.println("在外围内");
} else {
System.out.println("在外围外");
}
Saraphines 2012-06-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

我觉得有两种方法:
1.如果是24小时制的话,格式化字符串,9:00格式化为09:00,12:00不用变,然后比较字符串就好了。

2.如果不是的话,把你这两个时间都转化成分钟,然后拿你的时间比较就好了。
[/Quote]
我先在单独的java 上编辑的 麻烦大致看下!谢谢了!
Saraphines 2012-06-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

我觉得有两种方法:
1.如果是24小时制的话,格式化字符串,9:00格式化为09:00,12:00不用变,然后比较字符串就好了。

2.如果不是的话,把你这两个时间都转化成分钟,然后拿你的时间比较就好了。
[/Quote]

SimpleDateFormat formatters = new SimpleDateFormat("HH:mm");
Date curDates = new Date(System.currentTimeMillis());// 获取当前时间
String strs = formatters.format(curDates);
System.out.println(strs);
//开始时间
int sth = 17;//小时
int stm = 20;//秒
//结束时间
int eth = 19;//小时
int etm = 00;//秒

String[] dds = new String[] {};

// 分取系统时间 小时分
dds = strs.split(":");
int dhs = Integer.parseInt(dds[0]);
int dms = Integer.parseInt(dds[1]);

if (sth <= dhs && dhs <= eth) {
if (sth == dhs && stm >= dms) {
System.out.println("在外围内");
} else if (dhs == eth && etm <= dms) {
System.out.println("在外围内");
} else {
System.out.println("在外围外");
}
} else {
System.out.println("在外围外");
}

简单的写了下 您看下是否正确
李狗蛋52635 2012-06-06
  • 打赏
  • 举报
回复
我觉得有两种方法:
1.如果是24小时制的话,格式化字符串,9:00格式化为09:00,12:00不用变,然后比较字符串就好了。

2.如果不是的话,把你这两个时间都转化成分钟,然后拿你的时间比较就好了。

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧