VB.Net Tutorial/Date Time/Date — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Текущая версия на 12:54, 26 мая 2010
Содержание
- 1 Add 3 years to a date
- 2 Add Time to current time
- 3 Compare Date value in If statement
- 4 Date AddYears, AddMonths and AddDays
- 5 Date and TimeSpan
- 6 Date.ToOADate
- 7 Date ToString, ToLongDateString, ToShortDateString, ToLongTimeString, ToShortTimeString and ToUniversalTime
- 8 dateVariable = #4#
- 9 dateVariable = #PM#
- 10 dateVariable = "July 2, 2002"
- 11 Dim fourthOfJuly As New Date( 4)
- 12 Dim inTheMorning As New Date( 30)
- 13 Dim thirdOfJuly As Date = #PM#
- 14 Elapsed Ticks
- 15 Get Ticks from DateTime
- 16 Moon Phase
- 17 Parse Date: Test an invalid date
- 18 Select Day Of Week
- 19 Subtract Time
- 20 System Time
- 21 ToLongDateString
- 22 ToLongTimeString
Add 3 years to a date
public class Test
public Shared Sub Main
Dim Expiration As Date
Dim NewExpiration As Date
Expiration = #1/1/2005#
Expiration.AddYears(3)
NewExpiration = Expiration.AddYears(3)
Console.WriteLine("The new expiration date is: " & NewExpiration)
End Sub
End class
The new expiration date is: 01/01/2008
Add Time to current time
Public Class Tester
Public Shared Sub Main
Dim rightNow As Date = Now
Console.WriteLine("RightNow: " & rightNow.ToString)
" ----- Add time values.
Console.WriteLine("RightNow.AddHours(5): " & rightNow.AddHours(5))
Console.WriteLine("RightNow.AddMinutes(6): " & rightNow.AddMinutes(6))
Console.WriteLine("RightNow.AddSeconds(7): " & rightNow.AddSeconds(7))
Console.WriteLine("RightNow.AddMilliseconds(8000): " & rightNow.AddMilliseconds(8000))
End Sub
End Class
RightNow: 11/05/2007 9:09:20 PM RightNow.AddHours(5): 12/05/2007 2:09:20 AM RightNow.AddMinutes(6): 11/05/2007 9:15:20 PM RightNow.AddSeconds(7): 11/05/2007 9:09:27 PM RightNow.AddMilliseconds(8000): 11/05/2007 9:09:28 PM
Compare Date value in If statement
Module Module1
Sub Main()
If (Now.Hour < 12) Then
Console.WriteLine("Good morning")
ElseIf (Now.Hour < 18) Then
Console.WriteLine("Good day")
Else
Console.WriteLine("Good evening")
End If
End Sub
End Module
Good evening
Date AddYears, AddMonths and AddDays
Public Class Tester
Public Shared Sub Main
Dim rightNow As Date = Now
Console.WriteLine("RightNow: " & rightNow.ToString)
Console.WriteLine("RightNow.AddYears(2): " & rightNow.AddYears(2))
Console.WriteLine("RightNow.AddMonths(3): " & rightNow.AddMonths(3))
Console.WriteLine("RightNow.AddDays(4): " & rightNow.AddDays(4))
End Sub
End Class
RightNow: 11/05/2007 9:09:20 PM RightNow.AddYears(2): 11/05/2009 9:09:20 PM RightNow.AddMonths(3): 11/08/2007 9:09:20 PM RightNow.AddDays(4): 15/05/2007 9:09:20 PM
Date and TimeSpan
public class Test
public Shared Sub Main
Dim date1 As Date = #7/20/2004#
Dim date2 As Date = #8/7/2004#
Dim elapsed_time As TimeSpan
elapsed_time = Date.op_Subtraction(date2, date1)
Console.WriteLine(elapsed_time.Days.ToString)
End Sub
End class
18
Date.ToOADate
public class Test
public Shared Sub Main
Dim D As Date = Now()
Dim F As Double = D.ToOADate()
Console.WriteLine(F)
End Sub
End class
39213.5204361921
Date ToString, ToLongDateString, ToShortDateString, ToLongTimeString, ToShortTimeString and ToUniversalTime
Public Class Tester
Public Shared Sub Main
Dim rightNow As Date = Now
Dim result As New System.Text.StringBuilder
result.AppendLine("""Now""...")
result.Append("ToString: ").AppendLine(rightNow.ToString)
result.Append("ToLongDateString: ")
result.AppendLine(rightNow.ToLongDateString)
result.Append("ToShortDateString: ")
result.AppendLine(rightNow.ToShortDateString)
result.Append("ToLongTimeString: ")
result.AppendLine(rightNow.ToLongTimeString)
result.Append("ToShortTimeString: ")
result.AppendLine(rightNow.ToShortTimeString)
result.Append("ToUniversalTime: ")
result.AppendLine(rightNow.ToUniversalTime)
result.AppendLine()
Console.WriteLine(result.ToString)
End Sub
End Class
Now"... ToString: 11/05/2007 9:09:26 PM ToLongDateString: May 11, 2007 ToShortDateString: 11/05/2007 ToLongTimeString: 9:09:26 PM ToShortTimeString: 9:09 PM ToUniversalTime: 12/05/2007 4:09:26 AM
dateVariable = #4#
public class Test
public Shared Sub Main
Dim dteExpiration As Date
dteExpiration = #1/1/2004#
Console.WriteLine(dteExpiration)
End Sub
End class
01/01/2004 12:00:00 AM
dateVariable = #PM#
public class Test
public Shared Sub Main
Dim dteExpiration As Date
dteExpiration = #8/27/2001 6:29:11 PM#
Console.WriteLine(dteExpiration)
End Sub
End class
27/08/2001 6:29:11 PM
dateVariable = "July 2, 2002"
public class Test
public Shared Sub Main
Dim dteExpiration As Date
dteExpiration = "July 2, 2002"
Console.WriteLine(dteExpiration)
End Sub
End class
02/07/2002 12:00:00 AM
Dim fourthOfJuly As New Date( 4)
Public Class Tester
Public Shared Sub Main
Dim thirdOfJuly As Date = #7/3/1776 11:59:59 PM#
Dim fourthOfJuly As New Date(1776, 7, 4)
Dim inTheMorning As New Date(1776, 7, 4, 9, 45, 30)
Console.WriteLine( _
"The 3rd and 4th of July, 1776..." & _
vbNewLine & vbNewLine & _
"#7/3/1776 11:59:59 PM# ... " & _
thirdOfJuly.ToString & vbNewLine & _
"New Date(1776, 7, 4) ... " & _
fourthOfJuly.ToString & vbNewLine & _
"New Date(1776, 7, 4, 9, 45, 30) ... " & _
inTheMorning.ToString)
End Sub
End Class
The 3rd and 4th of July, 1776... #7/3/1776 11:59:59 PM# ... 03/07/1776 11:59:59 PM New Date(1776, 7, 4) ... 04/07/1776 12:00:00 AM New Date(1776, 7, 4, 9, 45, 30) ... 04/07/1776 9:45:30 AM
Dim inTheMorning As New Date( 30)
Public Class Tester
Public Shared Sub Main
Dim thirdOfJuly As Date = #7/3/1776 11:59:59 PM#
Dim fourthOfJuly As New Date(1776, 7, 4)
Dim inTheMorning As New Date(1776, 7, 4, 9, 45, 30)
Console.WriteLine( _
"The 3rd and 4th of July, 1776..." & _
vbNewLine & vbNewLine & _
"#7/3/1776 11:59:59 PM# ... " & _
thirdOfJuly.ToString & vbNewLine & _
"New Date(1776, 7, 4) ... " & _
fourthOfJuly.ToString & vbNewLine & _
"New Date(1776, 7, 4, 9, 45, 30) ... " & _
inTheMorning.ToString)
End Sub
End Class
The 3rd and 4th of July, 1776... #7/3/1776 11:59:59 PM# ... 03/07/1776 11:59:59 PM New Date(1776, 7, 4) ... 04/07/1776 12:00:00 AM New Date(1776, 7, 4, 9, 45, 30) ... 04/07/1776 9:45:30 AM
Dim thirdOfJuly As Date = #PM#
Public Class Tester
Public Shared Sub Main
Dim thirdOfJuly As Date = #7/3/1776 11:59:59 PM#
Dim fourthOfJuly As New Date(1776, 7, 4)
Dim inTheMorning As New Date(1776, 7, 4, 9, 45, 30)
Console.WriteLine( _
"The 3rd and 4th of July, 1776..." & _
vbNewLine & vbNewLine & _
"#7/3/1776 11:59:59 PM# ... " & _
thirdOfJuly.ToString & vbNewLine & _
"New Date(1776, 7, 4) ... " & _
fourthOfJuly.ToString & vbNewLine & _
"New Date(1776, 7, 4, 9, 45, 30) ... " & _
inTheMorning.ToString)
End Sub
End Class
The 3rd and 4th of July, 1776... #7/3/1776 11:59:59 PM# ... 03/07/1776 11:59:59 PM New Date(1776, 7, 4) ... 04/07/1776 12:00:00 AM New Date(1776, 7, 4, 9, 45, 30) ... 04/07/1776 9:45:30 AM
Elapsed Ticks
Public Class Tester
Public Shared Sub Main
Dim ticksBefore As Long
Dim ticksAfter As Long
Dim tickSeconds As Double
ticksBefore = Now.Ticks
MsgBox("Press OK to see elapsed seconds")
ticksAfter = Now.Ticks
tickSeconds = (ticksAfter - ticksBefore) / 10000000.0
Console.WriteLine("Elapsed seconds: " & tickSeconds.ToString())
End Sub
End Class
Elapsed seconds: 0.6875
Get Ticks from DateTime
public class Test
public Shared Sub Main
Console.WriteLine("Ticks since 12:00AM January 1, 1 CE="+ Now().Ticks().ToString())
End Sub
End class
Ticks since 12:00AM January 1, 1 CE=633144834075000000
Moon Phase
Public Class Tester
Public Shared Sub Main
Dim phaseDay As Double
Dim result As String
phaseDay = MoonPhase(Now.ToUniversalTime)
result = "UTC is now: " & _
Now.ToUniversalTime.ToString("u") & vbNewLine & vbNewLine
If (phaseDay < 0) Then
result &= "Approx days until new moon: " & _
(-phaseDay).ToString("F1")
Else
result &= "Approx days since new moon: " & _
phaseDay.ToString("F1")
End If
Console.WriteLine(result)
End Sub
Public Shared Function MoonPhase(ByVal dateUtc As Date) As Double
Dim days As Double = dateUtc.Subtract(#1/1/1600#).TotalDays
Dim cycles As Double = days * 0.03386319 - 12.5
Return Math.IEEERemainder(cycles, 1.0) * 29.53059
End Function
End Class
UTC is now: 2007-05-12 04:09:30Z Approx days until new moon: 4.7
Parse Date: Test an invalid date
Public Class Tester
Public Shared Sub Main
Dim testDate As String
Dim results As New System.Text.StringBuilder
" ----- Test an invalid date.
testDate = "Febtember 43, 2007"
If (IsDate(testDate) = True) Then _
results.AppendLine(Date.Parse(testDate).ToString)
Console.WriteLine(results.ToString())
End Sub
End Class
Select Day Of Week
Module Module1
Sub Main()
Dim DayOfWeek As Integer
DayOfWeek = Now.DayOfWeek
Select Case DayOfWeek
Case 1
Console.WriteLine("Sunday")
Case 2
Console.WriteLine("Monday")
Case 3
Console.WriteLine("Tuesday")
Case 4
Console.WriteLine("Wednesday")
Case 5
Console.WriteLine("Thursday")
Case 6
Console.WriteLine("Friday")
Case 7
Console.WriteLine("Saturday")
End Select
End Sub
End Module
Thursday
Subtract Time
Public Class Tester
Public Shared Sub Main
Dim results As New System.Text.StringBuilder
Dim rightNow As Date = Now
results.AppendLine("RightNow: " & rightNow.ToString)
results.AppendLine()
results.AppendLine("One year ago: " & _
rightNow.AddYears(-1).ToString)
results.AppendLine("365.25 days ago: " & _
rightNow.AddDays(-365.25).ToString)
Console.WriteLine(results.ToString())
End Sub
End Class
RightNow: 11/05/2007 9:09:36 PM One year ago: 11/05/2006 9:09:36 PM 365.25 days ago: 11/05/2006 3:09:36 PM
System Time
Public Class Tester
Public Shared Sub Main
Dim rightNow As Date = Now
Dim result As New System.Text.StringBuilder
result.AppendLine("""Now""...")
result.AppendLine()
result.Append("Date: ").AppendLine(rightNow.ToShortDateString)
result.Append("Time: ").AppendLine(rightNow.ToShortTimeString)
result.Append("Ticks: ").Append(rightNow.Ticks.ToString)
Console.WriteLine(result.ToString())
End Sub
End Class
Now"... Date: 11/05/2007 Time: 9:09 PM Ticks: 633145145771093750
ToLongDateString
public class Test
public Shared Sub Main
Dim theDate As Date
theDate = #2/13/1975 3:00:00 AM#
Console.WriteLine(theDate.ToLongDateString)
End Sub
End class
February 13, 1975
ToLongTimeString
public class Test
public Shared Sub Main
Dim theDate As Date
theDate = #2/13/1975 3:00:00 AM#
Console.WriteLine(theDate.ToLongTimeString)
End Sub
End class
3:00:00 AM