我想为我的程序创建一个计划系统 例如
basic plan => 1 month
在注册方法中,当用户在subscription Table
为他添加的30 Days + the started date
中选择该计划时Table [Subscribes]
[ID] [int] NULL,
[UserID] [int] NULL,
[Pack] [int] NULL,
[Subscription] [int] NULL,
[InstallDate] [date] NULL
这是表格
public DataTable Check()
{
DataTable Table = new DataTable();
Acces _Acces = new Network___Acces.Acces();
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@UserID", SqlDbType.Int);
param[0].Value = User_info.UserID;
Table = _Acces._SelectData("CheckSubscription", param);
return Table;
}
因此,当用户登录他的帐户时,我需要检查计划,所以我做的很简单,因为我可以(用于学习目的)
public void Subscription()
{
DateTime From = (DateTime)Check().Rows[0][4];
int Days = (int)Check().Rows[0][3];
if (From.AddDays((double)Days) >= DateTime.Now)
{
//time ended !
}
else
{
// still in the plan
}
}
此方法返回该用户的所有计划信息
和我的检查方法:
<xsl:template name="main">
<BOOKS>
<xsl:sequence select="collection('dir?select=*.xml')/BOOKS/BOOK"/>
</BOOKS>
</xsl:template>
还有其他 SIMPLE 方式吗,我还不需要任何有关计划的高级项目。
修改:付款计划系统
因为在MSDN上DateTime.Now
它需要本地计算机的实际日期,这意味着我们可以在计划结束时添加天数
答案 0 :(得分:0)
通常,时间戳是使用系统/计算机值完成的,如SQL GETDATE(),DateTime.Now ..等等。 鉴于连接到互联网不是一种选择,验证日期时间的真实性可能很难。
这些只是合理的方法,您可以用来查明用户是否篡改了系统时钟并进行检查..
如果用户花时间,他们总能找到解决方法。这些只是提示,因为时间是一个经常考虑的对象。
如果可以选择连接到互联网,只需从远程来源查询时间并与之进行比较,而不是与本地计算机进行比较。