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.
In quest'ottica, DateTime e TimeSpan rientrano tra le diverse strutture disponibili nel .NET Framework per compilare applicazioni che richiedono l'utilizzo di 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.
La sintassi:
VB.NET
<SerializableAttribute>
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
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
C#[SerializableAttribute] [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
Nessun commento:
Posta un commento