Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 定时访问系统_Java_Oracle10g_Jboss7.x - Fatal编程技术网

Java 定时访问系统

Java 定时访问系统,java,oracle10g,jboss7.x,Java,Oracle10g,Jboss7.x,事实上,我遇到了一个情况,我正在寻求指导。。 问题是我有一个表,其中包含用户可以访问系统的天数和时间的条目 这些列的排列方式如下:- 用户ID 白天 存取时间 访问时间 现在,我正在寻找一种方法,通过这种方法,我可以确保对于在表中获得条目的特定用户,用户应该能够在表中指定的时间和日期访问系统,直到达到我的表的accesstimeto列中的值 userid =1 day=wednesday accesstimefrom=02:00 accesstimeto=04:00 那么userid=1的用户

事实上,我遇到了一个情况,我正在寻求指导。。 问题是我有一个表,其中包含用户可以访问系统的天数和时间的条目

这些列的排列方式如下:-

用户ID 白天 存取时间 访问时间

现在,我正在寻找一种方法,通过这种方法,我可以确保对于在表中获得条目的特定用户,用户应该能够在表中指定的时间和日期访问系统,直到达到我的表的accesstimeto列中的值

userid =1
day=wednesday
accesstimefrom=02:00
accesstimeto=04:00
那么userid=1的用户只能在周三晚上02:00到04:00访问系统,即2小时

请提供我如何实现这一目标的方法

I am using 
Jboss 7.1 as server
oracle 10g  DB
Java 

编辑:还包括适当的导入

import java.text.SimpleDateFormat;
import java.util.Calendar;
要获取当前时间和日期,您可能需要使用

timeStamp = new SimpleDateFormat("EEEYYYYMMddHHmmss").format(Calendar.getInstance().getTime());
E是星期一、星期二、星期三等,yyy是年,MM是月,dd是月,HH是小时,MM是分钟,ss是秒。然后,如果需要,将其解析为int,比如

int year = Integer.parseInt(timeStamp.substring(0, 4));
之后,当用户尝试访问时,将访问时间与上面代码找到的值进行比较就很简单了

要测量经过的时间,请让您的程序知道程序何时启动

long startTime = System.currentTimeMillis();
然后通过循环反复检查,查看经过了多少时间,以及

if(it's been too long) {kick them out}
因此,如果用户在4:27:00访问您的程序,并且需要在4:28:30退出

long estimatedTime = System.currentTimeMillis() - startTime;
if(estimatedTime / 1000 > 90) //estimatedTime is in milliseconds, divide by 1000 to get seconds
    thisMethodKicksTheUserOut();

请记住,有很多方法可以实现您的程序,这是我对它的快速和肮脏的看法。互联网上有很多关于用Java获取/测量时间的资源,也许你应该仔细阅读其中的一些

谢谢你的回答,但我有一个问题,关于自动退出系统,当指定的时间结束时,我将如何跟踪持续时间有多种方法;我可能会每隔一分钟左右检查一次时间,看看是否超过了正确的时间。我马上会在我的答案后面加上一些东西谢谢kevin的这种方法,如果我遇到任何问题,会让你知道的。这是我的荣幸没问题,这是一个很好的资源,以防你遇到麻烦-作为奖励,我发现了如何从日期开始计算一周中的某一天!编辑我的答案以反映这一点。但我想知道是否有一种方法,我可以首先获取存储在表中的特定用户对应的日期,,,然后获取当前日期而不是日期,并将两者匹配…时间不是问题,但我想知道的是日期