Comment convertir une date/heure préexistante en heure UTC sans modifier l'heure réelle.
Exemple:
DateTime dateTime = GetSomeDateTime(); // dateTime here is 3pm
dateTime.ToUtcDateTime() // datetime should still be 3pm
6/1/2011 4:08:40 PM Local
6/1/2011 4:08:40 PM Utc
de
DateTime dt = DateTime.Now;
Console.WriteLine("{0} {1}", dt, dt.Kind);
DateTime ut = DateTime.SpecifyKind(dt, DateTimeKind.Utc);
Console.WriteLine("{0} {1}", ut, ut.Kind);
Utilisez le DateTime.SpecifyKind
méthode statique.
Crée un nouvel objet DateTime avec le même nombre de ticks que le DateTime spécifié, mais désigné comme étant l'heure locale, le temps universel coordonné (UTC) ou aucun des deux, 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 utiliser le constructeur surchargé de DateTime
:
DateTime utcDateTime = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, dateTime.Hour, dateTime.Minute, dateTime.Second, DateTimeKind.Utc);