標籤:比較 convert compare close .com open ring 元素 比較大小
1.首先要查詢類表中的一個時間段,要明確我的資料庫中只有一個時間欄位,我們先將他拆分一下。
if ($("#news_OpenTime").val() != "" || $("#news_CloseTime").val() != "") {
sear += "&sj=" + $("#news_OpenTime").val() + "," + $("#news_CloseTime").val();
}
這一段js的意思是,我的前台有兩個text元素,當然現在用js已經變成了日曆控制項。
下面是後台代碼:
if (Request.QueryString["sj"] != null)
{
sj = Request.QueryString["sj"];
url += "&sj=" + sj;
}
sj即時間,是我擷取的前台的值。
因為我前台擷取的值是 $("#news_OpenTime").val() + "," + $("#news_CloseTime").val() 所以進行拆分。
if (sj != string.Empty)
//首先是時間不為空白,如果為空白就不走
{
string pr1 = sj.Split(‘,‘)[0];
string pr2 = sj.Split(‘,‘)[1];
//用逗號截取
string newsTime1 = string.Empty, newsTime2 = string.Empty;
if (pr1 != string.Empty && pr2 == string.Empty)
{
num += "and(convert(char(10),news_Time,120) >= ‘" + pr1 + "‘)";
newsTime1 = pr1;
}
//條件1.如果使用者只輸入第一個文字框
//這裡的convert(char(10),news_Time,120),截取年月日,去除時分秒
else if (pr1 == string.Empty && pr2 != string.Empty)
{
num += "and(convert(char(10),news_Time,120) <= ‘" + pr2 + "‘)";
newsTime2 = pr2;
}
//條件2,使用者只輸入第二個文字框
else
{
//現在有個思路,使用者選擇第一個文字框,和第二個文字框,如果第一個小,第二大,當然很好,但是如果第一個大呢,難道使用者就查不出來了嗎,這當讓不行。
所以如下
DateTime sj1 = Convert.ToDateTime(pr1);
DateTime sj2 = Convert.ToDateTime(pr2);
//轉化兩個string 類型的值,只為比較大小
if (DateTime.Compare(sj1, sj2) > 0)
{
newsTime1 = pr2;
newsTime2 = pr1;
}
else
{
newsTime1 = pr1;
newsTime2 = pr2;
}
num += "and(convert(char(10),news_Time,120) between ‘" + newsTime1 + "‘ and ‘" + newsTime2 + "‘)";
}
最後是綁定
news_OpenTime.Text = newsTime1;
news_CloseTime.Text = newsTime2;
}
兩種時間查詢
select convert(char(10),news_Time,120) from tb_News
select news_Time from tb_News
asp.net時間範圍查詢