convertir datetime chaîne à l'Utc
comment convertir datetime chaîne de format d'heure utc en heure GMT.
var x = "02/01/2017 10:00";
var z = DateTime.ParseExact(x, "ddd, dd MMM yyyy HH:mm:ss 'GMT'", CultureInfo.InvariantCulture);
- Pas clair ce que vous demandez. Veuillez préciser ce que vous attendez de sortie
Vous devez vous connecter pour publier un commentaire.
En fait la chose que vous avez essayé qui est mal, ce que vous pouvez faire est d'obtenir la valeur de type DateTime équivalent à la date donnée, puis de les convertir à l'heure UTC, essayez quelque chose comme:
Exemple De Travail
inputDate.ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'GMT'")
seulement pas nécessaire pour la conversion deJe ne suis pas sûr de ce que tu voulais faire. Mais, Temps Universel, Zulu, et UTC sont effectivement noms modernes pour le Temps Moyen de Greenwich (GMT). Ainsi, le temps sera le même. Vous pouvez utiliser le
DateTime.ToUniversalTime()
ouDateTime.UtcNow
méthode pour obtenir l'heure UTC.Il n'est pas complètement claire de ce que vous demandez... UTC n'est pas un format, c'est un fuseau horaire, l'équivalent à l'heure GMT (bon, en fait ce n'est pas strictement vrai, mais pour les fins de cette question, il devrait être ok.
Ce point dans le temps est votre chaîne représentant? Est-il UTC? Ou est-ce l'heure locale à Moscou? Vous devez avoir la réponse à cette question, parce qu'ils sont complètement différents moments.
Si la chaîne représente un temps UTC, alors vous pouvez faire quelque chose comme ceci:
//d'abord l'analyser pour un objet DateTime. Notez que le formatage de chaîne de caractères correspond à la chaîne que vous avez dans votre code, ils étaient complètement différents.
Alors, comment vous avez un objet datetime. Il a une "Sorte" de la propriété de non précisé. Donc il n'est pas de stocker toutes les informations pour spécifier que c'est censé être UTC, plutôt que de Moscou ou New York.
//si nous faisons cela...
Qui signifie, "garder les numéros de la même, mais prendre note que la date /heure est à interpréter comme une UTC datetime".
Alors, si vous voulez la convertir en chaîne de caractères, vous pouvez faire quelque chose comme:
Qui vous donnera une belle représentation:
Vous êtes chanceux, vous êtes intéressé à l'UTC. La classe datetime ne peut le faire UTC, le "local" (quelle qu'elle soit), ou "non spécifié". C'est pas super utile pour ce genre de chose. DateTimeOffset est un peu mieux, c'est essentiellement un DateTime, mais il enregistre aussi la différence entre l'UTC et le décalage qui est en vigueur à l'époque.
Qui peut être tout ce dont vous avez besoin. Si jamais vous avez besoin d'une réelle clarté autour de ce genre de choses mais, prendre un coup d'oeil à Noda temps - une autre série de la date et de l'heure de cours pour .NET.
{}
bouton pour que votre post est plus lisible.