Rya*_*ell 5 .net vb.net datetime
在我的下面的代码中,如何设置到达日期和降级,以便我可以获得应付金额?我需要设置它们,因为我住在酒店的日子,所以我可以拿出一个总数.如果这有道理吗?我在Visual Basic中使用datetimepickers.
Public Class RentalForm
'declare constants
Const tax_rate_decimal As Decimal = 12.25D
Const king_price_decimal As Decimal = 110.9D
Const queen_price_decimal As Decimal = 105.9D
Const double_price_decimal As Decimal = 95.9D
'declare variables
Private roomchargesumdecimal, taxamountsumdecimal, amountduesumdecimal As Decimal
Private Sub exitButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles exitButton.Click
Close()
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBoxnameofguest.TextChanged
End Sub
Private Sub calculateButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles calculateButton.Click
'dimension local variables
Dim numberofguestsinteger As Integer
Dim roomchargedecimal, taxamountdecimal, amountduedecimal, taxratedecimal As Integer
Dim arrivaldate, departuredate As Date
Try
'dates
arrivaldate = Now
'convert quantity to numeric
numberofguestsinteger = Integer.Parse(TextBoxNumberofguests.Text)
'calculate values for single person
roomchargedecimal = numberofguestsinteger * (arrivaldate + departuredate)
taxratedecimal = roomchargedecimal * tax_rate_decimal
Catch ex As Exception
End Try
End Sub
Private Sub DateTimePickerarrivaldate_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePickerarrivaldate.ValueChanged
End Sub
Private Sub Label16averagelengthofstay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label16averagelengthofstay.Click
End Sub
Private Sub RentalForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
Ňɏs*_*arp 17
DateTime数学起初可能会令人困惑.但是它们是DateTimePicker控件还是变量并不重要,因为它myDateTimePicker.Value 是一个DateTimeType.因此,您可以混合和匹配变量和控件,例如Arrival as Now和Departure from picker,并使用减法:
Dim arrivaldate As DateTime = DateTime.Now
Dim departuredate As DateTime = Me.DeparturePicker.Value
Dim DaysStayed as Int32 = departuredate.Subtract(arrivaldate).Days
Run Code Online (Sandbox Code Playgroud)
要记住的是结果是TimeSpan对象.如果你看一下结构,你会看到它以单位Days为单位提供了经过的时间Ticks.
上面的代码Days从中TimeSpan创建了一个不创建临时变量的值TimeSpan.其他方式:
Dim tsHotelStay = detarturedate.Value - arrivalDate
wholeDays = tsHotelStay.Days ' e.g 7
totalDays = tsHotelStay.TotalDays . e.g. 7.53
totalHrs = tsHotelStay.TotalHours . eg 180.397
Run Code Online (Sandbox Code Playgroud)
这次,代码确实创建了一个TimeSpan变量(tsHotelDay).请注意,所有属性都以整体和小数形式提供(Ticks除外).
最后,显示(DateTime.Subtract(dt)和myTs = dtA - dtB)的2个减法方法在功能上是相同的:都返回TimeSpan对象.
| 归档时间: |
|
| 查看次数: |
41577 次 |
| 最近记录: |