public static bool IsDate(string anyString)
{
if (anyString.Length != 8) //這是在沒有任何符號(/.-)的狀況下
return false;
else
{
//在沒有符號的狀況下補上日期分隔符號
anyString = anyString.Substring(0, 4) + "/" + anyString.Substring(4, 2) + "/" + anyString.Substring(6, 2);
//====以上若已經有在輸入時即限制輸入格式可不需要====
try
{
DateTime dt;
dt = DateTime.Parse(anyString);
return true;
}
catch
{
return false;
}
}
}
註:如果是要判斷民國年就將原本的民國年轉為數值後加上19110000再判斷即可2.日期區間判斷
DateTime t1 = (DateTime.Parse((int.Parse(d1.Text.Substring(0, d1.Text.Length - 4)) + 1911) + "-" + d1.Text.Substring(d1.Text.Length - 4, 2) + "-" + d1.Text.Substring(d1.Text.Length - 2, 2)));
DateTime t2 = (DateTime.Parse((int.Parse(d2.Text.Substring(0, d2.Text.Length - 4)) + 1911) + "-" + d2.Text.Substring(d2.Text.Length - 4, 2) + "-" + d2.Text.Substring(d2.Text.Length - 2, 2)));
TimeSpan ts = t2 - t1;
//驗證日期區間起始輸入是否正確,後面日期不可小於前面日期
if (ts.Days < 0)
{
MessageBox.Show("ERROR:請輸入正確日期區間,查詢起始日期必須小於結束日期");
return false;
}
//天數限制
if (ts.Days >= 31)
{
messageShow.Text = "ERROR:日期區間最多不可超過31日";
return false;
}
else
{
return true;
}
沒有留言:
張貼留言