J'ai DateTimeOffset:
DateTimeOffset myDTO = DateTimeOffset.ParseExact(
"2015/01/15 17:37:00 -0500", "yyyy/MM/dd HH:mm:ss zzz",
CultureInfo.InvariantCulture);
Console.WriteLine(myDTO);
// résultat => "15/01/2015 17:37:00 -05: 00"
Comment convertir en DateTime et ajouter ce décalage "- 0500" dans le DateTime résultant
// résultat souhaité => "1/15/2015 22:37:"
Utilisation DateTimeOffset.UtcDateTime
:
DateTime utc = myDTO.UtcDateTime; // 01/15/2015 22:37:00
Il n'est pas nécessaire d'ajouter le décalage à l'heure lors de l'utilisation de l'heure UTC. Selon votre exemple, vous faites référence à l'heure UTC. Cela signifie donc que vous pouvez utiliser DateTimeOffset.UtcDateTime
comme je l'ai démontré ici:
DateTimeOffset myDTO = DateTimeOffset.ParseExact(
"2015/01/15 17:37:00 -0500", "yyyy/MM/dd HH:mm:ss zzz",
CultureInfo.InvariantCulture);
Console.WriteLine(myDTO); //Will print 1/15/2015 17:37:00 -5:00
//Expected result would need to be 1/15/2015 22:37:00 (Which is UTC time)
DateTime utc = myDTO.UtcDateTime; //Yields another DateTime without the offset.
Console.WriteLine(utc); //Will print 1/15/2015 22:37:00 like asked