c datetime tutorial
Questo tutorial spiegherà tutto sulla classe DateTime di C #. Imparerai a lavorare con il formato DateTime C #, inclusi i metodi timer, cronometro e sospensione:
L'ora e la data sono ampiamente utilizzate in diversi progetti software. Spesso abbiamo a che fare con oggetti data e ora durante la scrittura di programmi diversi.
La data e l'ora ha varie applicazioni come ottenere la data e l'ora correnti, aggiungere un timestamp ai nomi di variabili / file, utilizzare la data e l'ora per la convalida, ecc.
=> Dai un'occhiata alle esercitazioni di formazione approfondite su C # qui
Cosa imparerai:
- Come inizializzare l'oggetto DateTime di C #?
- Proprietà dell'oggetto DateTime
- Che cos'è la formattazione della data?
- Come ottenere la data e l'ora corrente?
- Timer C #
- Cronometro C #
- Cos'è il metodo del sonno?
- Conclusione
- Lettura consigliata
Come inizializzare l'oggetto DateTime di C #?
DateTime è uno Struct nello spazio dei nomi di sistema. Aiuta i programmatori a recuperare le informazioni sulla data del sistema, l'ora, il mese, l'anno o anche il giorno della settimana. Consente inoltre agli utenti di eseguire operazioni sui valori di data e ora recuperati.
Diamo un'occhiata a un semplice programma inizializzando un nuovo oggetto DateTime. Quando inizializziamo un nuovo oggetto, avremo bisogno di passare determinati parametri per impostare il valore della data.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); Console.WriteLine(dt.ToString()); Console.ReadLine(); } } }
Qui, abbiamo passato la data come 05, il mese come 11 e l'anno come 2018. Questo imposterà l'istanza dell'ora dei dati sul parametro fornito da noi. Dopo l'inizializzazione, abbiamo stampato l'oggetto inizializzato su console convertendolo in una stringa.
L'output del programma di cui sopra sarà:
5/11/2018 12:00:00
Nell'output sopra, puoi vedere che poiché non abbiamo fornito alcun valore temporale, quindi l'oggetto DateTime ha utilizzato l'ora predefinita.
Proprietà dell'oggetto DateTime
L'oggetto DateTime offre una serie di proprietà diverse per aiutare gli utenti a recuperare i dati sull'oggetto data e ora.
Qui discuteremo alcune importanti proprietà di data e ora:
Giorno
La proprietà Day recupera la data impostata dell'oggetto data-ora. Restituisce un valore intero e non accetta alcun argomento.
Sintassi:
int date = dt.Day;
Mese
La proprietà Month recupera il mese impostato dell'oggetto data-ora. Restituisce un valore intero e non accetta alcun argomento.
Sintassi:
int month = dt.Month;
Anno
La proprietà Year recupera l'anno impostato per l'oggetto data-ora. Restituisce un valore intero e non accetta alcun argomento.
Sintassi:
int yr = dt.Year;
Giorno della settimana
La proprietà Giorno della settimana recupera il valore intero del giorno della settimana dall'oggetto data-ora impostato. Richiede inoltre che il casting accetti un valore intero. Non accetta alcun argomento.
Sintassi:
int dayWeek = (int)dt.DayOfWeek;
Giorno dell'anno
La proprietà Day of year recupera il giorno dell'anno dal valore impostato della data nell'oggetto data-ora. Restituisce un valore intero e non accetta alcun argomento.
Sintassi:
int dayYear = dt.DayOfYear;
Ora
La proprietà Day recupera la data impostata dell'oggetto data-ora. Restituisce un valore intero e non accetta alcun argomento.
Sintassi:
int hour = dt.Hour;
Minuto
La proprietà Min recupera il valore dei minuti dalla data impostata dell'oggetto data-ora. Restituisce un valore intero e non accetta alcun argomento.
Sintassi:
int min = dt.Minute;
Secondo
La seconda proprietà recupera il secondo valore dal valore impostato dell'oggetto data-ora. Restituisce un valore intero e non accetta alcun argomento.
Sintassi:
int sec = dt.Second;
Diamo un'occhiata a un semplice programma per recuperare questi valori.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); int date = dt.Day; int month = dt.Month; int yr = dt.Year; int dayWeek = (int)dt.DayOfWeek; int dayYear = dt.DayOfYear; int hour = dt.Hour; int min = dt.Minute; int sec = dt.Second; Console.WriteLine(date); Console.WriteLine(month); Console.WriteLine(yr); Console.WriteLine(dayWeek); Console.WriteLine(dayYear); Console.WriteLine(hour); Console.WriteLine(min); Console.WriteLine(sec); Console.ReadLine(); } } }
L'output del programma di cui sopra sarà:
Data: 5
Mese: 11
Anno: 2018
Giorno della settimana: 1
Giorno dell'anno: 309
Ora: 0
Minuto: 0
Secondo: 0
Nel programma sopra, abbiamo impostato il valore della data come 05/11/2018. Quindi, possiamo vedere che il sistema ha recuperato gli stessi valori ma quando guardiamo la parte temporale vedremo che il valore predefinitoè 0. È perché non abbiamo impostato alcun valore temporale e quindi il sistema ha assegnato automaticamente i valori predefiniti a un'ora, minuti e secondi.
Che cos'è la formattazione della data?
Diverse applicazioni e diversi programmatori possono richiedere un diverso formato di data per il loro utilizzo. Pertanto, la formattazione della data viene utilizzata per formattare la data per numerosi requisiti. DateTime offre anche diverse opzioni di formattazione per ottenere la data nel formato desiderato.
Esistono diversi specificatori designati per offrire il formato desiderato della data. Qui discuteremo alcuni di quelli popolari:
Formato breve
Visualizza un semplice formato dell'ora con un'ora e minuti con suffisso AM o PM. È indicato con 't' in un piccolo caso.
java come invertire un array
Il formato di output sarà: 12:00 PM
Formato lungo
Visualizza il formato dell'ora esteso con ora, minuti e secondi con suffisso AM o PM. È indicato con 'T' in maiuscolo.
Il formato di output sarà: 12:13:12 PM
Data breve
Visualizza un semplice formato di data nel formato MM / GG / AAAA. È indicato con l'alfabeto 'd' in un piccolo caso.
Il formato di output sarà: 11/05/2018
Data lunga
Visualizza il formato data esteso con giorno, mese, giorno e anno. È indicato con l'alfabeto 'D' in maiuscolo.
Il formato di output sarà: lunedì 5 novembre 2018
Giorno mese
Visualizza il formato della data con data e mese. Non contiene i dettagli dell'anno. È indicato con l'alfabeto 'M' in maiuscolo.
Il formato di output sarà: 5 novembre
Mese anno
Visualizza il formato della data con mese e anno. Non contiene dettagli sulla data. È indicato con l'alfabeto 'Y' in maiuscolo.
Il formato di output sarà: novembre 2018
Diamo un'occhiata a questi in dettaglio con l'aiuto di un semplice programma.
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); //short time Console.WriteLine('Short time : {0}',dt.ToString('t')); //Long Time Console.WriteLine('Long time : {0}', dt.ToString('T')); //Short Date Console.WriteLine('Short Date : {0}', dt.ToString('d')); //Long Date Console.WriteLine('Long date : {0}', dt.ToString('D')); //Day / Month Console.WriteLine('Day with month : {0}', dt.ToString('M')); //Month / Year Console.WriteLine('Month with year : {0}', dt.ToString('Y')); Console.ReadLine(); } } }
L'output del programma di cui sopra sarà:
Breve tempo: 12:00 AM
Di lunga data: 12:00:00 AM
Data breve: 5/11/2018
Data lunga: lunedì 5 novembre 2018
Giorno con mese: 5 novembre
Mese con anno: novembre 2018
Nel programma sopra, abbiamo inizializzato il valore della data nella prima riga e poi abbiamo provato ad utilizzare lo stesso valore per ottenere formati differenti.
Come ottenere la data e l'ora corrente?
L'oggetto DateTime contiene una serie di metodi diversi per accedere all'ora di sistema. Il metodo 'Now' consente di ottenere l'ora / data del sistema corrente e consente persino di operare su di essa.
La sintassi per ottenere l'ora corrente sarà:
DateTime today = DateTime.Now;
Una volta che abbiamo definito e memorizzato ora in un oggetto DateTime. Possiamo facilmente convertirlo in stringa per ottenere la data-ora corrente o possiamo persino modificare il formato della data utilizzando gli specificatori discussi sopra.
Timer C #
Il timer in C # consente ai programmatori di impostare un intervallo di tempo per eseguire un determinato set di codice o istruzione in modo ricorrente. È molto utile nel caso in cui la specifica dell'applicazione richieda di eseguire un evento dopo ogni determinato intervallo.
Per esempio, durante l'implementazione di un'applicazione di backup dei dati.
Diamo uno sguardo a un semplice programma per implementare un timer:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; using System.Timers; namespace ConsoleApp1 { class Program { private static Timer timer; static void Main(string() args) { timer = new System.Timers.Timer(); timer.Interval = 2000; timer.Elapsed += OnTimerEvent; timer.AutoReset = true; timer.Enabled = true; Console.WriteLine('The timer will start logging now... '); Console.ReadLine(); } private static void OnTimerEvent(Object source, System.Timers.ElapsedEventArgs e) { Console.WriteLine('Time logged: {0}', e.SignalTime.ToString('T')); } } }
Quindi, se esegui questo programma, continuerà a registrare l'ora ogni 2 secondi.
Nel programma precedente, abbiamo prima inizializzato System.Timer. Quindi impostiamo l'intervallo di tempo per il timer. Qui abbiamo mantenuto l'intervallo di 2000 millisecondi, puoi fornire qualsiasi implementazione secondo le tue esigenze. Una volta trascorso l'intervallo di tempo, è necessario eseguire alcune istruzioni chiamando un metodo.
Qui abbiamo chiamato 'OnTimerEvent' ogni due secondi. Il metodo accetterà due parametri, il primo è 'object' e un altro è 'ElapsedEventArgs'.
Abbiamo anche bisogno di resettare il timer ogni volta che raggiunge un intervallo e dobbiamo anche abilitarlo. Pertanto, sia il ripristino automatico che l'abilitazione del timer sono contrassegnati come veri. Quindi scriviamo il nostro messaggio personalizzato sulla console e aggiungiamo anche una readline per assicurarci che la console rimanga aperta fino all'intervento dell'utente.
Cronometro C #
Il cronometro viene utilizzato in C # per misurare il tempo. È molto utile nel benchmarking delle prestazioni del codice durante l'ottimizzazione del codice. Può essere utilizzato per eseguire il monitoraggio continuo delle prestazioni del codice / dell'applicazione e per mantenere un controllo di qualsiasi downgrade delle prestazioni.
Il cronometro può misurare con precisione il tempo trascorso durante un evento ed è la scelta perfetta per cronometrare qualsiasi evento nel programma. La classe Stopwatch è definita nello spazio dei nomi System.Diagnostics e deve essere istanziata per l'utilizzo. Ciò lo rende molto utile per le applicazioni che richiedono il multi-threading. Le chiamate agli eventi possono essere eseguite utilizzando il metodo thread.sleep.
Cos'è il metodo del sonno?
Il metodo sleep viene utilizzato per mettere in pausa il thread in esecuzione per un periodo di tempo specifico. Accetta il tempo in millisecondi. La sospensione è molto utile in un ambiente multi-threading in cui si desidera che un thread si fermi per lasciare il posto ad altri thread per completare la loro esecuzione.
La sintassi per il metodo Sleep di C # è:
System.Threading.Thread.Sleep(1000);
Ora abbiamo imparato a conoscere il sonno e altre lezioni di cronometro.
Creiamo un semplice programma cronometro per capire le cose in modo più chiaro.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.Diagnostics; namespace ConsoleApp1 { class Program { static void Main(string() args) { Console.WriteLine('Press Enter to start the stopwatch'); Console.ReadLine(); // Create a new Stopwatch. var stopwatch = Stopwatch.StartNew(); Console.WriteLine('Stopwatch started...'); Console.WriteLine('Press Enter to stop the stopwatch and show time'); Console.ReadLine(); // Write result. Console.WriteLine('Time elapsed: {0}', stopwatch.Elapsed); Console.ReadLine(); } } }
Produzione
L'output del programma sopra sarà qualcosa del genere:
L'ultima riga mostra il tempo trascorso tra l'inizio e la fine del cronometro.
Nel programma precedente, abbiamo definito una variabile stopwatch in cui abbiamo memorizzato l'istanza della classe Stopwatch. Abbiamo utilizzato il metodo StartNew (). Il metodo startnew crea una nuova istanza ogni volta che viene chiamato, quindi è molto utile quando vogliamo avviare il cronometro dall'inizio.
La proprietà Elapsed del cronometro consente all'utente di registrare l'intervallo di tempo della corsa. Alla fine, abbiamo semplicemente stampato il tempo trascorso sulla console.
Conclusione
Data e ora, timer, sospensione e cronometro vengono tutti utilizzati nel linguaggio di programmazione C # per soddisfare vari scopi. Un oggetto DateTime viene utilizzato per raccogliere informazioni sulla data e l'ora del sistema o per impostare una data e un'ora personalizzate da utilizzare per un particolare requisito dell'applicazione.
Il timer, invece, viene utilizzato per impostare un intervallo di tempo tra l'esecuzione di determinati comandi o eventi.
Il sonno è la parte di System.Threading e viene utilizzato per mettere in pausa o interrompere l'esecuzione per un certo intervallo di tempo. Ciò consente ai programmatori di avviare un altro thread nell'ambiente multi-threading mentre il thread precedente è sospeso.
Il cronometro può essere utilizzato per misurare le prestazioni o il tempo impiegato per l'esecuzione di un determinato evento. Può offrire una misurazione precisa del tempo trascorso o dei tick che possono essere utilizzati per tenere sotto controllo le prestazioni dell'applicazione.
=> Esplora l'intera serie di esercitazioni di formazione per C # qui
Lettura consigliata
- Tutorial Python DateTime con esempi
- Opportunità di lavoro freelance part-time per esperti di selenio
- Tutorial Java Reflection con esempi
- I 10 migliori software gratuiti per il rilevamento del tempo dei dipendenti
- Esecuzione di casi di test utilizzando ALM / QC (tutorial Micro Focus ALM QC del 5 ° giorno)
- Repository di oggetti in QTP - Tutorial # 22
- Funzioni di data e ora in C ++ con esempi
- TimeShiftX rilasciato per semplificare i test con time shift