摘要:時光跳躍 -- 下拉式選單與 年/月/日(潤年與大小月)
下拉式選單的時光跳躍,一次跳回五年、十年前?-- 年/月/日(潤年與大小月) DateTime的.IsLeapYear()方法與 .DaysInMonth()方法
之前的範例,使用日曆控制項(Calendar)
是為了避免 User在 TextBox裡面輸入日期
(日期格式亂寫一通,倘若寫入DB不慘才怪)
[習題]輸入自己的生日(年/月/日)-- 日曆(Calendar)控制項的時光跳躍,一次跳回五年、十年前?--TodaysDate屬性、VisibleDate屬性
[習題]輸入自己的生日(年/月/日)#2 -- 日曆(Calendar)控制項的時光跳躍,一次跳回五年、十年前?--TodaysDate屬性、VisibleDate屬性
如果使用 DropDownList(下拉式選單),讓User輸入 年 / 月 / 日
年、月都好寫,但當月日期就不好寫了
- 大月,有31天
- 小月,有30天。
- 二月最可怕,有28天。潤年會有29天。
.NET的 DateTime資料格式提供很多種方法,可以解決上面問題。
http://msdn.microsoft.com/zh-tw/library/system.datetime(v=vs.110).aspx
DateTime的格式如下,
初學者都會寫成這樣,這是錯的,這是字串
C# DateTime DT = "2014/12/31";
VB Dim DT As DateTime = "2014/12/31"
正確寫法如下:
DateTime date1 = new DateTime(2008, 5, 1, 8, 30, 52);
後面都是 "整數",代表 年 / 月 / 日 / 時 / 分 / 秒
VB語法請把 new 改成 New
如果要把特定日期"字串"轉成 DateTime
string dateString = "5/1/2008 8:30:52 AM"; DateTime date1 = DateTime.Parse(dateString, System.Globalization.CultureInfo.InvariantCulture);
======================================================================
1. 看看年份是否是潤年?
如果是的話,二月有29天
.IsLeapYear()方法 -- http://msdn.microsoft.com/zh-tw/library/system.datetime.isleapyear(v=vs.110).aspx
還是太難寫?還是要寫一堆 if或是 for迴圈??
======================================================================
2. 那個月有幾天??
找了一下,竟然有 .DaysInMonth()方法,這也太酷了
http://msdn.microsoft.com/zh-tw/library/system.datetime.daysinmonth(v=vs.110).aspx
int daysInJuly = System.DateTime.DaysInMonth(2001, July);
2001/7月有幾天,這樣就知道了。
您可以利用這個數字來跑 for迴圈,就能列出當月份的天數。
可以輸入數字(從一算起,1~12月份),例如 System.DateTime.DaysInMonth(2001, 7);
for迴圈 + DropDownList1.Items.Add("字串") 可以把天數,逐一加入下拉式選單的子選項
搜尋一下關鍵字 「 DaysInMonth 」,網路上很多範例
這篇文章最有趣,裡面有一個方法很簡短,但我看不懂
http://254698001.blog.51cto.com/2521548/784894
// 酷!!!!!!我看不懂,也不想懂 :-P
======================================================================
3. CompareValidator驗證控制項的 Operator屬性
當然,ASP.NET 驗證控制項有一個「CompareValidator」
可以選來作為「輸入格式的驗證」,Operator屬性裡面可以設定Date日期格式的檢查。
講完了。自己練習一下吧
自己寫一下,東西是自己的。
上網址想找範例來抄襲(Copt/Paste)永遠是別人的。
本文太簡單,不提供範例下載 :-)
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
線上課程教學,遠距教學 (Web Form 約 51hr) https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015
線上課程教學,遠距教學 (ASP.NET MVC 約 140hr) https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab
寫信給我,不要私訊 -- mis2000lab (at) yahoo.com.tw 或 school (at) mis2000lab.net
(1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A
(2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I
[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm 。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b
ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。
......... facebook社團 https://www.facebook.com/mis2000lab ......................
......... YouTube (ASP.NET) 線上教學影片 https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/
Blog文章 "附的範例" 無法下載,請看 https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download
請看我們的「售後服務」範圍(嚴格認定)。
......................................................................................................................................................
ASP.NET MVC => .NET Core MVC 線上教學 ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽
[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講 事先錄好的影片,並非上課側錄! 觀看時,有如「一對一」面對面講課。