【问题标题】:Formatting time in Android ApplicationAndroid应用程序中的格式化时间
【发布时间】:2016-09-07 04:37:46
【问题描述】:

我创建了一个 Android 评分应用程序以在我的课程中使用。所有的数据库连接和评分逻辑都已布局并按其应有的方式精确运行。

但是,我在合并 Java Calendar 类时遇到了问题。我需要能够限制每个班级在上课期间“仅”提交他们的答案。如您所见,我需要合并一系列“if 语句”才能做到这一点。

问题是我不知道如何获得这个时间,我需要验证我的学生提交的答案是否仅在他们的课堂时间处理。

这是我尝试过的:

Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);

如您所见,我只能将小时和分钟分开。我如何获得实时时间?只是小时和分钟,而不是秒。

在我的代码中,我的设置应如下所示:

int period = will be selected from a spinner object

if(period == 1 && (time>= 7:20 AM && time<= 9:00AM)) Then, go ahead and 
submit your answers to online database.

if(period == 8 && (time>= 12:50PM && time<= 2:20PM)) Then, go ahead and 
submit your answers to online database.

我不知道如何用 Calendar 类格式化这个“时间”对象。

任何帮助将不胜感激。

【问题讨论】:

  • 与问题无关,但一些聪明的学生可以更改他们设备上的日期/时间并在窗口外提交。
  • 嗯,这是可能的。由于他们正在向在线数据库提交答案,因此我可能会在数据库中创建一个列值,该值会创建一个关于何时提交答案的时间戳。检查这个时间会告诉我真正的时间它被提交了。我不知道如何从 PHP 获取 24 小时格式的当前时间。 @冰人

标签: java android time calendar


【解决方案1】:

您可以为日历设置小时和分钟:

Calendar start = Calendar.getInstance();
start.set(Calendar.HOUR, 7);
start.set(Calendar.MINUTE, 20);

endDate 也一样:

Calendar end = Calendar.getInstance();
end.set(Calendar.HOUR, 9);
end.set(Calendar.MINUTE, 0);

检查当前日期时间是否在区间内:

Calendar cal = Calendar.getInstance();//now
boolean isInInterval = cal.getTime().after(start.getTime()) && cal.getTime().before(end.getTime());

【讨论】:

    猜你喜欢
    • 2023-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    相关资源
    最近更新 更多