C# 如何在c语言中获取通用日期时间#
我在开发图书馆管理系统时遇到了严重的情况,如果有人归还一本书,有一个函数可以将书的详细信息插入数据库,该数据库以系统日期作为归还日期,然后比较借阅日期和归还日期,我可以计算罚款(如果有),但问题是,通过将系统日期更改为当前日期之上的前一个日期,任何人都可以在不影响罚款的情况下归还图书,因为它将系统日期插入为当前日期,并且现在已更改 例如: 那么贷款期限是7天吗 借款日期为2012年5月11日 返回日期2012年5月20日(假设今天是系统日期) 现在有2天的延迟(因此要计算罚款)C# 如何在c语言中获取通用日期时间#,c#,mysql,sql,date,datetime,C#,Mysql,Sql,Date,Datetime,我在开发图书馆管理系统时遇到了严重的情况,如果有人归还一本书,有一个函数可以将书的详细信息插入数据库,该数据库以系统日期作为归还日期,然后比较借阅日期和归还日期,我可以计算罚款(如果有),但问题是,通过将系统日期更改为当前日期之上的前一个日期,任何人都可以在不影响罚款的情况下归还图书,因为它将系统日期插入为当前日期,并且现在已更改 例如: 那么贷款期限是7天吗 借款日期为2012年5月11日 返回日期2012年5月20日(假设今天是系统日期) 现在有2天的延迟(因此要计算罚款) 如果我将系统日期
如果我将系统日期更改为前一个日期,如2012年5月15日,那么它会将系统日期作为更改日期,这样就可以在不计算罚款的情况下还书,而必须计算罚款?无法通过编程实现,因为您将始终在系统运行的pc上设置日期 您可以从另一台pc/服务器获取当前日期,或者在该pc/服务器中配置管理员权限,以便任何人都无法更改系统时间
检查第一个选项:您可以在另一台机器上设置mysql数据库,未经授权的人无法对其进行更改,然后使用mysql日期/时间函数 定义您的返回表,例如:
create table book_return (book_id int, return_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
然后你可以利用这段时间来计算
阅读有关mysql日期/时间函数的更多信息:
另外-如果您必须在一台计算机上安装mysql db+应用程序,您可以尝试从NTP服务器获取当前时间,但这可能有些过分;)
您必须将数据库置于集中系统中,该系统必须是windows应用程序服务器或基于Web的服务器。。因此,尝试使用服务器时间。为列/字段创建默认值 创建表BookDetails(BookId int,ReturnedTime-datetime-DEFAULT-getdate())
您可以自己托管服务器,在这种情况下,您可以控制时钟,但您知道,无论系统是否指示,职员始终可以选择不向客户收费……最终用户是否能够更改系统和/或数据库服务器上的日期?是否认为CMOS battary已经死亡?然后突然更改系统日期并将非法值插入数据库?我没有使用数据库的当前日期,因为如果我更改数据库服务器(美国为8月),服务器时间也会更改?如果将服务器从一个时区移动到另一个时区,当然服务器时间会更改几个小时,但您可以检测到并进行补偿。