Comment convertir une date / heure préexistante en heure UTC sans changer l'heure réelle.
Exemple:
DateTime dateTime = GetSomeDateTime(); // dateTime here is 3pm
dateTime.ToUtcDateTime() // datetime should still be 3pm
Comment convertir une date / heure préexistante en heure UTC sans changer l'heure réelle.
Exemple:
DateTime dateTime = GetSomeDateTime(); // dateTime here is 3pm
dateTime.ToUtcDateTime() // datetime should still be 3pm
Réponses:
Utilisez la DateTime.SpecifyKind
méthode statique.
Crée un nouvel objet DateTime qui a le même nombre de graduations que le DateTime spécifié, mais qui est désigné comme heure locale, temps universel coordonné (UTC) ou ni l'un ni l'autre, comme indiqué par la valeur DateTimeKind spécifiée.
Exemple:
DateTime dateTime = DateTime.Now;
DateTime other = DateTime.SpecifyKind(dateTime, DateTimeKind.Utc);
Console.WriteLine(dateTime + " " + dateTime.Kind); // 6/1/2011 4:14:54 PM Local
Console.WriteLine(other + " " + other.Kind); // 6/1/2011 4:14:54 PM Utc
Vous pouvez également le faire de cette façon:
DateTime utcDateTime = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, dateTime.Hour, dateTime.Minute, dateTime.Second).ToUniversalTime();
new DateTime(dateTime.Year, dateTime.Month, dateTime.dateTimeay, dateTime.Hour, dateTime.Minute, dateTime.Second).ToUniversalTime().ToString()
vs DateTime.SpecifyKind(dateTime, DateTimeKind.Utc).ToString()
Vous verrez que vous obtenez des résultats différents.
Utilisez la DateTime.ToUniversalTime
méthode.
PST
valeur?