TIMESPAN E DATETIME
Gli utilizzi più frequenti di informazioni su data e ora comprendono:
- indicare solo una data, perchè l'ora è ininfluente, e viceversa;
- indicare una data e un'ora astratte;
- recuperare informazioni su data e ora da fonti esterne a NET.Framework;
- identificare in modo univoco un singolo momento;
- eseguire operazioni aritmetiche per date e ore.
STRUTTURA DATETIME
Un valore DateTime definisce una data e un'ora specifiche.
La struttura DateTime è adatta per le applicazioni che:
- utilizzano solo date;
- utilizzano solo ore;
- utilizzano date e ore astratte;
- recuperano informazioni su data e ora da fonti esterne a .NET Framework;
- eseguono operazioni aritmetiche su date e ore.
VB.NET
<SerializableAttribute>
Public Structure DateTime
Implements IComparable, IFormattable, IConvertible, ISerializable, IComparable(Of Date), IEquatable(Of Date)
Public Structure DateTime
Implements IComparable, IFormattable, IConvertible, ISerializable, IComparable(Of Date), IEquatable(Of Date)
C#
[SerializableAttribute]
public
struct DateTime : IComparable, IFormattable, IConvertible,ISerializable, IComparable<DateTime>, IEquatable<DateTime>
DateTime() inizializza una nuova istanza della struttura DateTime con argomenti dall'anno al millisecondo, con la possibilità di indicare l'ora locale.
Esempi in VB.NET:
1)
Dim date1 As New Date(2008, 5, 1, 8, 30, 52)
2) Public Shared Sub Main()
Dim window As Integer = 10
Dim freq As Integer = 60 * 60 * 2 ' 2 hours;
Dim d1 As DateTime = DateTime.Now
Dim d2 As DateTime = d1.AddSeconds((2 * window))
Dim d3 As DateTime = d1.AddSeconds((- 2 * window))
Dim d4 As DateTime = d1.AddSeconds((window / 2))
Dim d5 As DateTime = d1.AddSeconds((- window / 2))
Dim d6 As DateTime = d1.AddHours(2).AddSeconds((2 * window))
Dim d7 As DateTime = d1.AddHours(2).AddSeconds((- 2 * window))
Dim d8 As DateTime = d1.AddHours(2).AddSeconds((window / 2))
Dim d9 As DateTime = d1.AddHours(2).AddSeconds((- window / 2))
End Sub
2) Public Shared Sub Main()
Dim window As Integer = 10
Dim freq As Integer = 60 * 60 * 2 ' 2 hours;
Dim d1 As DateTime = DateTime.Now
Dim d2 As DateTime = d1.AddSeconds((2 * window))
Dim d3 As DateTime = d1.AddSeconds((- 2 * window))
Dim d4 As DateTime = d1.AddSeconds((window / 2))
Dim d5 As DateTime = d1.AddSeconds((- window / 2))
Dim d6 As DateTime = d1.AddHours(2).AddSeconds((2 * window))
Dim d7 As DateTime = d1.AddHours(2).AddSeconds((- 2 * window))
Dim d8 As DateTime = d1.AddHours(2).AddSeconds((window / 2))
Dim d9 As DateTime = d1.AddHours(2).AddSeconds((- window / 2))
End Sub
STRUTTURA TIMESPAN
La struttura TimeSpan rappresenta un intervallo di tempo e viene utilizzata per:
- indicare l'intervallo di tempo tra due valori di data e ora (ad esempio, DateTime - DateTime);
- misurare il tempo trascorso da un dato istante.
È possibile aggiungere o sottrarre le durate attrverso l'utilizzo degli operatori Addition e Subtraction, oppure utilizzando i metodi Add e Subtract. È anche possibile confrontare due durate utilizzando i metodi Compare, CompareTo e Equals.
L'intervallo del TimeSpan è dato dai valori MinValue e MaxValue.
La sintassi:
VB.NET
<SerializableAttribute>
<ComVisibleAttribute(True)>
Public Structure TimeSpan
Implements IComparable, IComparable(Of TimeSpan), IEquatable(Of TimeSpan),
IFormattable
<ComVisibleAttribute(True)>
Public Structure TimeSpan
Implements IComparable, IComparable(Of TimeSpan), IEquatable(Of TimeSpan),
IFormattable
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>, IFormattable
[ComVisibleAttribute(true)]
public struct TimeSpan : IComparable, IComparable<TimeSpan>, IEquatable<TimeSpan>, IFormattable
Esempi in VB.NET:
1)
TimeSpan interval = new TimeSpan(2, 14, 18);
Console.WriteLine(interval.ToString());
2) Public Sub Main()
Dim timeSpent As TimeSpan = TimeSpan.Zero
timeSpent
+= GetTimeBeforeLunch()
timeSpent
+= GetTimeAfterLunch()
Console.WriteLine("Total
time: {0}", timeSpent)
End
Sub
Private
Function GetTimeBeforeLunch() As TimeSpan
Return
New TimeSpan(rnd.Next(3, 6), 0, 0)
End
Function
Private
Function GetTimeAfterLunch() As TimeSpan
Return
New TimeSpan(rnd.Next(3, 6), 0, 0)
End
Function
Commenti
Posta un commento