搜尋網誌內容

2013年3月21日 星期四

ASP.NET(C#) Datetime比較時間

DateTime.Compare 方法 by MSDN

簡單的說可以判斷兩個時間
以0為中介值,可發展成 >0、=0、<0三種狀態
一般常用smalldatetime在判斷上比較沒有問題
如果是使用long的形式要特別注意 時區的問題

比較方法通常就會搭配判斷是去撰寫  例

DateTime t1 = new DateTime(100);
DateTime t2 = new DateTime(20);

if (DateTime.Compare(t1, t2) >  0) Console.WriteLine("t1 > t2"); 
if (DateTime.Compare(t1, t2) == 0) Console.WriteLine("t1 == t2"); 
if (DateTime.Compare(t1, t2) <  0) Console.WriteLine("t1 < t2");
這是MSDN上的範本
我的狀況
判斷時間是否超過,已確定開啟按鈕功能
string rt1 = "2013-06-17";string st1 = "12:00";

DateTime rt = Convert.ToDateTime(rt1);

 DateTime dt1 = Convert.ToDateTime(st1); 
 DateTime dt3 = DateTime.Now; 
 if (DateTime.Compare(dt3, rt) > 0 & DateTime.Compare(dt3, dt1) > 0)

  {

 Button1.Text = "我已閱讀完畢,並同意報名";
 } 
 else

 
{

 Button1.Enabled = false;
                Button1.Text = "系統開放時間為2013/6/17 12:00";
 }
你也可以在設定變數的時候就宣告為DateTime,但是帶入string時就必須符合DateTime格式

ASP.NET(C#) custom validator 驗證

custom validator有分兩種驗證
一種是for client端  另外則是由server來驗證
再使用custom validator server驗證時
最後觸發驗證的動作(例如button_click)
一定要加入page.postback的篩選
否則進入SERVER端後就會跳過驗證的狀況進行下一程序