Visual Studio .NET的DateTimePicker控件為用戶提供一個(gè)選擇日期/時(shí)間的簡(jiǎn)便方法。這個(gè)控件允許你選擇日期和時(shí)間;同時(shí),由于這個(gè)控件允許你限制輸入內(nèi)容,你可以忽略合法的日期格式。DateTimePicker控件類似于MonthView控件,后者允許你選擇一個(gè)日期或日期范圍,但不支持時(shí)間選擇。在本文中,我將創(chuàng)建一個(gè)使用DateTimePicker控件的實(shí)例。實(shí)例在常用控件(Common Controls)下的工具箱(Toolbox)中找到DateTimePicker控件,并把它添加到Windows Forms中。設(shè)置以下屬性:l Name:dtpDateSelectionl CustomFormat:mm/dd/yyyyl Format:短l MaxDate:12/31/2008l MinDate:01/01/2007l ShowUpDown:假 在Form Load事件中添加以下代碼: dtpDateSelection.Value = Now 創(chuàng)建以下事件: Private Sub dtpDateSelection_CloseUp(ByVal sender As Object, ByVal e As System.EventArgs) Handles dtpDateSelection.CloseUp MessageBox.Show(dtpDateSelection.Value) End Sub 結(jié)果在第一個(gè)例子中,ShowUpDown屬性設(shè)為假,表示在用戶點(diǎn)擊控件時(shí),控件的日歷部分可見。然后用戶從控件的日歷部分選擇日期。在DateTimePicker控件中選擇一個(gè)日期后,你的屏幕看起來(lái)與圖A類似。 現(xiàn)在,將ShowUpDown屬性值改為真,再次運(yùn)行代碼。這次你不會(huì)看到控件的日歷部分,你可以點(diǎn)擊控件的上/下箭頭來(lái)選擇一個(gè)日期。其結(jié)果類似于圖B。 注意,這個(gè)控件不允許你選擇小于MinDate屬性值或大于MaxDate屬性值的日期。 更多信息你還可以使用許多其它屬性和重要的方法,讓DateTimePicker控件滿足你的需求。MSDN提供關(guān)于如何使用DateTimePicker控件的其它細(xì)節(jié)。 Irina Medvinskaya自1996年開始涉足技術(shù)領(lǐng)域。她獲得佩斯大學(xué)的MBA學(xué)位,現(xiàn)在任花旗集團(tuán)的項(xiàng)目經(jīng)理。
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)柘榮免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
TextBox12.Text = DateTimePicker1.Value.ToString("yyyy/MM/dd")
這樣格式化一下就可以了
這樣:
Private?Sub?Button1_Click(sender?As?Object,?e?As?EventArgs)?Handles?Button1.Click
Dim?leapyears()?As?Integer?=?GetLeapYears(2000,?2100)
Dim?str?As?String
Try
Dim?count?As?Integer?=?UBound(leapyears)?+?1
str?=?"閏年個(gè)數(shù):"?+?count.ToString
For?i?=?0?To?UBound(leapyears)
str?+=?"?"?+?leapyears(i).ToString
Next
TextBox1.Text?=?str
Catch?ex?As?Exception?
End?Try
End?Sub
'''?summary
'''?獲取指定年份區(qū)間中所有閏年組成的數(shù)組
'''?/summary
'''?param?name="StartYear"起始年份/param
'''?param?name="EndYear"結(jié)束年份/param
'''?returns/returns
'''?remarks/remarks
Private?Function?GetLeapYears(StartYear?As?Integer,?EndYear?As?Integer)?As?Integer()
Dim?leapyears()?As?Integer?=?Nothing
Dim?index?As?Integer?=?0
For?i?=?StartYear?To?EndYear
If?(i?Mod?400?=?0)?Or?(i?Mod?4?=?0?And?i?Mod?100??0)?Then
ReDim?Preserve?leapyears(index)
leapyears(index)?=?i
index?+=?1
End?If
Next
Return?leapyears
End?Function
擴(kuò)展資料:
注意事項(xiàng)
DateSerial返回包含指定的年、月、日的 Variant (Date)。
語(yǔ)法:DateSerial(year, month, day)
Private Function MonthToLeapYear(ByVal Yea As Integer) As Boolean
MonthToLeapYear = Day(DateSerial(Yea, 2, 29)) = 29
End Function
Private Sub Command1_Click()
If Len(Text1.Text) = 4 Then
? If MonthToLeapYear(Text1.Text) = True Then
? ? ? Print Text1.Text "年是閏年"
? Else
? ? ? Print Text1.Text "年是平年"
? End If
Else
?Print "錯(cuò)誤:請(qǐng)輸入正確的年份!"
End If
End Sub
在VB.NET中進(jìn)行日期處理時(shí),避免手工判斷或計(jì)算是個(gè)好主意,因?yàn)槭止び?jì)算由于代碼的質(zhì)量問(wèn)題可能不準(zhǔn)確??梢允褂?NET提供的類的功能進(jìn)行日期處理。
例如,如果需要判斷給定的某年是否閏年,可以使用VB.NET的IsLeapYear函數(shù)。下面是如何使用該函數(shù)的一個(gè)例子:
Private Sub LeapYearCheck()
Dim bLeapYear AsBoolean
bLeapYear = Date.IsLeapYear(Now.Year)
MessageBox.Show(bLeapYear)
bLeapYear = Date.IsLeapYear(2004)
MessageBox.Show(bLeapYear)
End Sub
在應(yīng)用開發(fā)中,開發(fā)人員經(jīng)常要進(jìn)行各種各樣的日期處理。如果你需要一種簡(jiǎn)單的方法來(lái)計(jì)算出給定兩個(gè)日期間的天數(shù),不妨考慮使用vb.NET中的TimeSpan對(duì)象。
列表A向你演示了如何使用TimeSpan對(duì)象來(lái)獲得兩個(gè)日期間的時(shí)間值。今后,你可以使用Subtract方法來(lái)獲得兩個(gè)日期間的實(shí)際天數(shù)。 關(guān)于列表A的一些說(shuō)明 首先,我們聲明一個(gè)Date類型的變量dtStartDate,并賦初值為2007年一月一日。同時(shí),還聲明了其它一些將會(huì)用到的變量,包括:TimeSpan的一個(gè)實(shí)例tsTimeSpan,整型數(shù)iNumberOfDays,字符串型變量strMsgText。設(shè)定變量tsTimeSpan的值為當(dāng)前日期/時(shí)間值與dtStartDate值得差。 為了計(jì)算出當(dāng)前日期/時(shí)間(Now)與dtStartDate之間的天數(shù),我們使用TimeSpan對(duì)象的Days屬性,設(shè)定它的值為iNumberOfDays 。
名稱欄目:vb.net日期處理插件,vb中時(shí)間控件
鏈接URL:http://jinyejixie.com/article22/hsogcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、定制開發(fā)、網(wǎng)站導(dǎo)航、網(wǎng)站維護(hù)、網(wǎng)站策劃、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)