同一个用户,回答提示问题每天只能错三次。超过3次24小时后回答.有点思路,但有个datetime问题

sickcatzzzz 2009-01-07 01:19:58

//取出该用户名的 登陆次数和时间
if(count > 3 && newtime > oldtime)
{count=0 }//数据库计数清0

if (count > 3 && newtime < oldtime) //对比时间 现在的时候是否大于回答错误时间
{
// msg:您当天回答问题次数超过3,24小时后再试
}
else
{
// 执行回答
if (true) //填写正确
{
//允许改密码

}
else
{ ///msg您输入有误;
//数据库回答次数加1 (通过取出来现在数字加1实现)

{
//记录回答实时间; 该用什么数据类型? 实际插入时间是现在的24小时后 oldtime
}
}
}

比如现在系统时间是2009/1/6 17:58:05 从datetime.now() 获得
那么怎么样让他变成24时后的时间?先把时间转成字符行?然后读取多少为+24取余数?
有没有简单的方法,请各位指点一下,除了这个问题如果逻辑上有什么不合理大家也可帮我指出来!
其实还有就是如果客户更改了自己的系统时间怎么办?除了datetime.now() 还能用别的获取标准时间吗?
...全文
118 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouxing_24 2009-01-07
  • 打赏
  • 举报
回复
System.DateTime.Now.AddHours(24);
晕,才看到上面都有答案了,哎,顶一下吧
GTX280 2009-01-07
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 sickcatzzzz 的回复:]
System.DateTime.Now.AddHours(-24);  这样会咋样?前一天的?
[/Quote]
sickcatzzzz 2009-01-07
  • 打赏
  • 举报
回复
System.DateTime.Now.AddHours(-24); 这样会咋样?前一天的?
GTX280 2009-01-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 GTX280 的回复:]
我整理的一个逻辑,你看看吧
取出该用户名的 错误次数count和最近一次密码输错时间lasttime

if ((now - lasttime) >= 24小时)//now:现在时间;    lasttime:最近一次密码输错时间
{
count = 0 并更新数据库;

}
if (count >= 3)
{
msg:已输错3次,24小时后再修改;
return;
}
else
{
回答问题;
if (true)  //填写正确
{
允许改密码;
count = 0 并更新数据库;
}
else
{
msg您输入有误;
更新数据库co…
[/Quote]
担心时间同步问题,可以将lasttime改成时间间隔,也即:从数据库获取现在时间和上次输错时间的差值,判断这个差值是不是大于24
sickcatzzzz 2009-01-07
  • 打赏
  • 举报
回复
这个方法太神奇了,简直是太方便了,太方便了。。。
GTX280 2009-01-07
  • 打赏
  • 举报
回复
我整理的一个逻辑,你看看吧
取出该用户名的 错误次数count和最近一次密码输错时间lasttime

if ((now - lasttime) >= 24小时)//now:现在时间; lasttime:最近一次密码输错时间
{
count = 0 并更新数据库;

}
if (count >= 3)
{
msg:已输错3次,24小时后再修改;
return;
}
else
{
回答问题;
if (true) //填写正确
{
允许改密码;
count = 0 并更新数据库;
}
else
{
msg您输入有误;
更新数据库count + 1,lasttime = now;
}
}
xian_yun80 2009-01-07
  • 打赏
  • 举报
回复
select Dateadd(day,1,getdate())
xian_yun80 2009-01-07
  • 打赏
  • 举报
回复
System.DateTime.Now.AddHours(24);
sickcatzzzz 2009-01-07
  • 打赏
  • 举报
回复
而且c#里面的now()方法调用的是我服务器本地的时间,其实我的担心没必要。。。。对吧。。。
sickcatzzzz 2009-01-07
  • 打赏
  • 举报
回复
数据库的系统函数可不太会用。。在逻辑里面我该怎么处理。。。
sickcatzzzz 2009-01-07
  • 打赏
  • 举报
回复
补充以下 数据库中需要俩字段 一个登陆次数 一个回答错误的时间。
koukoujiayi 2009-01-07
  • 打赏
  • 举报
回复
DateTime dt1 = Convert.ToDateTime("2009/1/6 17:58:05").AddHours(24);
jinjazz 2009-01-07
  • 打赏
  • 举报
回复
数据库一般都有时间函数的,比如sqlserver的select getdate(),orale的select sysdate from dual;
jinjazz 2009-01-07
  • 打赏
  • 举报
回复
System.DateTime.Now.AddDays(1);
已经博主授权,源码转载自 https://pan.quark.cn/s/e7f334cb07df ### 和利时DCS操作手册知识点概述#### 一、HOLLiASMACS系统介绍**1.1 HOLLiAS的定义**HOLLiAS是由和利时公司研发的分布式控制系统(Distributed Control System,简称DCS),主要应用于工业自动化领域的监控与管理。该系统融合了先进的控制技术与信息技术,能够对复杂的工业过程进行有效的监控和优化管理。**1.2 HOLLiAS MACS V5.2.4版本**HOLLiAS MACS V5.2.4版本是HOLLiAS系统的一个重要升级版本,该版本在原有基础上增加了更多的功能模块,提升了系统的稳定性和可靠性。此版本特别注重用户友好性和灵活性,使得系统更加便于配置和维护。**1.3 集成的软件说明**HOLLiAS MACS V5.2.4系统集成了多种软件工具,主要包括:- **数据库总控软件**:用于管理整个系统的数据库结构。- **设备组态软件**:支持对系统中的各种硬件设备进行配置。- **图形组态软件**:用于创建和编辑图形用户界面。- **报表组态软件**:提供报表设计和生成的功能。- **工程师站下装软件**:负责将组态好的数据下载到控制站。- **历史数据查询软件**:支持对历史数据的查询和分析。#### 二、软件安装与卸载**2.1 系统运行环境要求**- **硬件要求**:推荐使用较高性能的服务器作为主机,至少配备4GB内存,双核处理器,以及充足的磁盘空间。- **操作系统**:支持Windows XP及以上版本,建议使用Windows Server系列操作系统以获得更好的稳定性和安全性。**2.2 系统软件...

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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