如何比较系统日期与日期数据库表中的现有 [英] How to compare system date with date existing in database table
问题描述
-
起始日期
(格式为:DD-MM-YYYY
) -
END_DATE
start_date
(format isDD-MM-YYYY
)end_date
如果我从登录页面登录,我要检查当前日期之间的起始日期
和 END_DATE
;如果是这样,我能登录。
If I log in from my login page, I want to check that current date is between start_date
and end_date
; if so, I am able to log in.
如何做对比在C#.. asp.net ..?
How to do comparison in C#..asp.net..?
我已经成功地登陆页面打印当前的日期。
I have printed current date in login page successfully.
lblMsg.Text= DateTime.Now.ToString("dd-MM-yyyy");
我使用asp.net使用C#
I am using asp.net with c#
start_date end_date
8/2/2013 12:00:00 AM 10/2/2013 12:00:00 AM
code为DD / MM / YYYY格式存储日期
CultureInfo的提供商= CultureInfo.InvariantCulture;
Code for Storing Date in DD/MM/YYYY format
CultureInfo provider = CultureInfo.InvariantCulture;
DateTime startdate = DateTime.ParseExact(tbstartdate.Text.ToString().Trim(), "dd/MM/yyyy", provider);
DateTime enddate = DateTime.ParseExact(tbenddate.Text.ToString().Trim(),"dd/MM/yyyy",provider);
string sql = "INSERT INTO TimeTable(start_date,end_date)"
+ "VALUES (@startdate,@enddate)";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@startdate", SqlDbType.DateTime).Value = startdate;
cmd.Parameters.Add("@enddate", SqlDbType.DateTime).Value = enddate;
cmd.Prepare();
n = cmd.ExecuteNonQuery();
conn.Close();
code为登录页上检查日期
CultureInfo的提供商= CultureInfo.InvariantCulture;
Code for Checking Date on login page
CultureInfo provider = CultureInfo.InvariantCulture;
DateTime date = DateTime.ParseExact(DateTime.Now.ToString("dd/mm/yyyy"), "dd/MM/yyyy", provider);
// DateTime date=DateTime.Now.ToString("dd/mm/yyyy");
string query1 = "select * from TimeTable where ((start_date >= @date1 and End_date<= @date2) and UserType=@type)";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
SqlCommand com = new SqlCommand(query1, conn);
com.Parameters.Add("@type",dpusertype.SelectedItem.Text.ToString());
com.Parameters.Add("@date1",date);
com.Parameters.Add("@date2", date);
com.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(com);
DataTable dt = new DataTable();
da.Fill(dt);
`如果(dt.Rows.Count> 0)//从表用户比较
`if (dt.Rows.Count > 0) // comparing users from table
{
FormsAuthentication.RedirectFromLoginPage(txtFcode.Text, Persist.Checked);
Response.Redirect("~/DeptCoordinator/DeptCoordinator_homepage.aspx");
}
获取错误
由字符串psented日期时间再$ P $没有日历System.Globalization.GregorianCalendar支持。
Desc`
Getting Error
The DateTime represented by the string is not supported in calendar System.Globalization.GregorianCalendar. Desc`
推荐答案
假设你已经加载start_date和end_from从表中。然后
Assuming that you've loaded start_date and end_from from the table. Then
var now = DateTime.Now.Date;
var allowLogin = start_date <= now && now <= end_date;
这篇关于如何比较系统日期与日期数据库表中的现有的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!