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.
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 della struttura appena analizzata è la seguente:


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

Public Sub Main()
      Dim formats() As String = { "yyyyMMdd", "HHmmss" }
      Dim dateStrings() As String = { "20130816", "20131608",  
                                      "  20130816   ", "115216", 
                                      "521116", "  115216  " }
      Dim parsedDate As DateTime
 
      For Each dateString As String In dateStrings
         If DateTime.TryParseExact(dateString, formats, Nothing, 
                                   DateTimeStyles.AllowWhiteSpaces Or
                                   DateTimeStyles.AdjustToUniversal,
                                   parsedDate)
            Console.WriteLine("{0} --> {1:g}", dateString, parsedDate)
         Else
            Console.WriteLine("Cannot convert {0}", dateString)
         End If                                         
      Next
   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 della struttura appena analizzata è la seguente:

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


Commenti

Post popolari in questo blog

Resampling dei dati

Indici di performance di una strategia di trading. Calmar Ratio, Sharpe Ratio, Sortino Ratio

Metodi di calcolo del PNL