Je pense que vous cherchez TimeZoneInfo
:
DateTime dateTime;
string str = "2016-02-11 23:02:30 -0500";
if (!DateTime.TryParse(str, out dateTime))
{
// error
}
dateTime = DateTime.SpecifyKind(dateTime, DateTimeKind.Unspecified);
var serverTimeZone = TimeZoneInfo.Local; // Server time zone
var allTimeZones = TimeZoneInfo.GetSystemTimeZones(); // Time zone list
var clientTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time");
// DateTime in server time zone
var dateTimeZone = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(dateTime, clientTimeZone.Id, serverTimeZone.Id);
Jetez un oeil à ce violon: https://dotnetfiddle.net/Apx51v
Note:
Et rappelez-vous, DateTime
ne contient pas de temps zone information.
« Un développeur est responsable de garder la trace de l'information en temps zone associée à une valeur DateTime via un mécanisme externe » DateTime in .NET
Essayez 'DateTime.ParseExact' – MusicLovingIndianGirl
Vous voulez changer la façon dont regarder dans votre IDE DateTime? Ou vous voulez changer comment il est affiché à l'utilisateur? Pour le premier: Il vient du système; Vous pouvez modifier le paramètre de date et heure de votre système. Pour le second, essayez de mettre en forme la date et l'heure au format désiré. – raidensan