2010-07-16 13 views
11

Quando visualizzo la mia data di sistema usando la funzione DateTime.Now() Mi dà la data e l'ora del sistema e funziona bene ma quando provo ad eseguire questa pagina sul mio server mi dà il DateTime del Server che è al di fuori dell'India Ma voglio prendere il tempo dell'India ogni volta che questa pagina viene eseguita sul server. So che è possibile attraverso Culture Info Classe ... Ogni suggerimento ....Ottieni il tempo standard indiano (IST) in C#?

+0

Con fuso orario del tempo del mondo in linea API è possibile ottenere l'ora locale per una posizione in base alla latitudine e alla longitudine - http://mvark.blogspot.in/2013/04/how-to-show-local-time-for-location.html – mvark

risposta

20

Put:

private static TimeZoneInfo INDIAN_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"); 

come un campo.

Poi, utilizzare:

DateTime indianTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, INDIAN_ZONE); 

per ottenere il tempo in base alle esigenze.

+0

@Mathew ' Impossibile convertire implicitamente il tipo 'System.TimeZoneInfo' t o 'System.DateTime' –

+0

@mathew 'La migliore corrispondenza del metodo sovraccarico per' System.TimeZoneInfo.ConvertTimeFromUtc (System.DateTime, System.TimeZoneInfo) 'ha alcuni argomenti non validi' –

+0

@Pandiya: Inserisci 'TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById ("Indian Standard Time"); 'e quindi' DateTime indianTime = TimeZoneInfo.ConvertTimeFromUtc (DateTime.UtcNow, tzi); ' –

0

Io uso questo metodo per ottenere datetime corrente UTC e il salvataggio tramite Entity Framework

Err.Date = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("India Standard Time")); 

Database Valore - 2016-06-23 09:51:13.183

Grazie io pensa non è valido