JAVA里判断某时间是不是在当天中
做的是考核系统,要求当天只能上班打卡一次,下班打卡一次,怎样判断出打卡的时间是不是在当天时间中。急求,要讲的详细点。。。。。谢谢。。。完成加分...
做的是考核系统,要求当天只能上班打卡一次,下班打卡一次,怎样判断出打卡的时间是不是在当天时间中。急求,要讲的详细点 。。。。。谢谢。。。完成加分
展开
2个回答
展开全部
数据库两个字段A(第一次打卡时间,上班打卡),B(任意打卡时间,每打卡一次更新一次,下班打卡)
用打卡时间与A比较,一样则为同一天
用打卡时间与A比较,一样则为同一天
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 问题模拟,解决方案 to 匿名
* 只是一个模拟,希望你能从中获得一些想法
*copy到IDE中会好分析一些
* @author Administrator
*
*/
public class WorkeSimulation {
public static void main(String[] args) {
// 1、扫描指纹 获得 员工信息
// 2、判断该员工改日是否签到、签离
// 3、写入记录
/** 下方为过程的模拟 **/
String 工作号 = "BJ-TNFCP-08001002";
String 姓名 = "JIAQIANLI.CN@GMAIL.COM";
WorkeSimulation simulation = new WorkeSimulation();
simulation.早上打卡(姓名, 工作号);
}
public void 早上打卡(String 姓名, String 工作号) {
// 查询数据库今天是否签到
Date nowtime = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String timestr = sdf.format(nowtime);
String sql = "select * from worke_record where 工作号='" + 工作号 + "'";
sql += " where record_type=" + Type.START_WORKE
+ " and record_time like '" + timestr + "%'";
boolean already = verify(sql);
if (already)
return;
TimeCardRecord record = new TimeCardRecord();
record.setName(姓名);
record.setWorkerNumber(工作号);
record.setType(Type.START_WORKE);
record.setDate(nowtime);
saveRecord(record);
}
public void 下午打卡(String 姓名, String 工作号) {
// 查询数据库今天是否签离
Date nowtime = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String timestr = sdf.format(nowtime);
String sql = "select * from worke_record where 工作号='" + 工作号 + "'";
sql += " where record_type=" + Type.FINISHED_WORKE
+ " and record_time like '" + timestr + "%'";
boolean already = verify(sql);
if (already)
return;
TimeCardRecord record = new TimeCardRecord();
record.setName(姓名);
record.setWorkerNumber(工作号);
record.setType(Type.FINISHED_WORKE);
record.setDate(nowtime);
saveRecord(record);
}
private void saveRecord(TimeCardRecord record) {
// TODO 编写数据库插入
}
/**
* 验证是否数据库存在此条数据
* @param sql
* @return
*/
private boolean verify(String sql) {
boolean flag = true;
// 自己实现 数据查询 并确定flag真假 然后返回
return flag;
}
/**
* 打卡记录类
* @author Administrator
*
*/
class TimeCardRecord {
/** 打卡类型*/
private Type type;
/** 日期*/
private Date date;
/** 员工姓名*/
private String name;
/** 工号*/
private String workerNumber;
public Type getType() {
return type;
}
public void setType(Type type) {
this.type = type;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWorkerNumber() {
return workerNumber;
}
public void setWorkerNumber(String workerNumber) {
this.workerNumber = workerNumber;
}
}
/**
* 打卡类型枚举
* @author Administrator
*
*/
enum Type {
START_WORKE(1), FINISHED_WORKE(2);
private final int FLAG;
private Type(int flag) {
this.FLAG = flag;
}
@Override
public String toString() {
return "" + FLAG;
}
}
}
import java.util.Date;
/**
* 问题模拟,解决方案 to 匿名
* 只是一个模拟,希望你能从中获得一些想法
*copy到IDE中会好分析一些
* @author Administrator
*
*/
public class WorkeSimulation {
public static void main(String[] args) {
// 1、扫描指纹 获得 员工信息
// 2、判断该员工改日是否签到、签离
// 3、写入记录
/** 下方为过程的模拟 **/
String 工作号 = "BJ-TNFCP-08001002";
String 姓名 = "JIAQIANLI.CN@GMAIL.COM";
WorkeSimulation simulation = new WorkeSimulation();
simulation.早上打卡(姓名, 工作号);
}
public void 早上打卡(String 姓名, String 工作号) {
// 查询数据库今天是否签到
Date nowtime = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String timestr = sdf.format(nowtime);
String sql = "select * from worke_record where 工作号='" + 工作号 + "'";
sql += " where record_type=" + Type.START_WORKE
+ " and record_time like '" + timestr + "%'";
boolean already = verify(sql);
if (already)
return;
TimeCardRecord record = new TimeCardRecord();
record.setName(姓名);
record.setWorkerNumber(工作号);
record.setType(Type.START_WORKE);
record.setDate(nowtime);
saveRecord(record);
}
public void 下午打卡(String 姓名, String 工作号) {
// 查询数据库今天是否签离
Date nowtime = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String timestr = sdf.format(nowtime);
String sql = "select * from worke_record where 工作号='" + 工作号 + "'";
sql += " where record_type=" + Type.FINISHED_WORKE
+ " and record_time like '" + timestr + "%'";
boolean already = verify(sql);
if (already)
return;
TimeCardRecord record = new TimeCardRecord();
record.setName(姓名);
record.setWorkerNumber(工作号);
record.setType(Type.FINISHED_WORKE);
record.setDate(nowtime);
saveRecord(record);
}
private void saveRecord(TimeCardRecord record) {
// TODO 编写数据库插入
}
/**
* 验证是否数据库存在此条数据
* @param sql
* @return
*/
private boolean verify(String sql) {
boolean flag = true;
// 自己实现 数据查询 并确定flag真假 然后返回
return flag;
}
/**
* 打卡记录类
* @author Administrator
*
*/
class TimeCardRecord {
/** 打卡类型*/
private Type type;
/** 日期*/
private Date date;
/** 员工姓名*/
private String name;
/** 工号*/
private String workerNumber;
public Type getType() {
return type;
}
public void setType(Type type) {
this.type = type;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWorkerNumber() {
return workerNumber;
}
public void setWorkerNumber(String workerNumber) {
this.workerNumber = workerNumber;
}
}
/**
* 打卡类型枚举
* @author Administrator
*
*/
enum Type {
START_WORKE(1), FINISHED_WORKE(2);
private final int FLAG;
private Type(int flag) {
this.FLAG = flag;
}
@Override
public String toString() {
return "" + FLAG;
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询