J'utilise le service WCF qui renvoie l'heure actuelle du serveur. Mon client se trouve dans un fuseau horaire différent. Quand j'appelle ce service, il convertit automatiquement l'heure renvoyée par le serveur à l'heure locale, ce que je ne veux pas. Comment est-ce que je l'ignore?WCF convertir l'heure en fonction du fuseau horaire automatiquement
Répondre
Convertissez votre envoi du service WCF en UTC et, lorsque vous créez de nouvelles heures dans votre client, spécifiez-les en tant que type UTC. Cela initialise l'heure au fuseau horaire standard universel. Vous pouvez afficher l'heure à votre client et assurez-vous de l'identifier en temps UTC. Cela atténuera toute divergence ou ambiguïté quant à ce que cette heure est réellement.
DateTime serverTimeRaw = myService.GetServerTime();
DateTime serverTimeUTC = new DateTime(serverTimeRaw.Ticks, DateTimeKind.Utc);
Console.WriteLine(serverTimeUTC); // Prints server time as UTC time
Si vous avez réellement besoin de représenter les temps dans leur fuseau horaire, vous aurez besoin d'envoyer le temps des informations de zone ainsi que le DateTime. Je recommande de créer un type qui encapsule les deux éléments d'information, et renvoyer cela, plutôt qu'un DateTime lui-même. Les informations de fuseau horaire ne sont pas un composant intrinsèque d'un DateTime. Ce sont deux préoccupations distinctes et elles ne fournissent un sens composite que lorsqu'elles sont réellement composées.
class ZonedDateTime
{
public DateTime DateTimeUtc { get; set; }
public TimeZoneInfo TimeZone { get; set; }
public DateTime ToDateTime()
{
DateTime dt = TimeZoneInfo.ConvertTime(DateTimeUtc, TimeZone);
return dt;
}
}
// ...
ZonedDateTime zdt = myService.GetServerZonedTime();
DateTime serverTimeActual = zdt.ToDateTime();
- 1. obtenir l'heure actuelle en fonction du fuseau horaire dans javascript
- 2. Fuseau horaire en C#?
- 3. Modification du fuseau horaire en PHP
- 4. Fuseau horaire Fonctions Aide
- 5. Réglage du fuseau horaire du mode org
- 6. Ajustement du fuseau horaire en PHP avec DateTime/DateTimeZone
- 7. Fixation du fuseau horaire sur Solaris 10
- 8. Convertir temps d'un fuseau horaire à l'autre dans Rails
- 9. Rails Mise en œuvre du fuseau horaire BST
- 10. fuseau horaire de réglage en Python
- 11. Définition/modification du fuseau horaire d'une application .NET
- 12. comment régler l'heure locale en fonction du fuseau horaire dans asp.net
- 13. Comment tester un fuseau horaire?
- 14. Datetime Mysql avec Fuseau horaire
- 15. Forçage du fuseau horaire "+0000" pour RFC2822 fois dans Ruby
- 16. ASP.NET: Problèmes d'utilisation du fuseau horaire dans le profil pour convertir à partir de l'UTC
- 17. Comment convertir l'heure UTC en heure dans n'importe quel autre fuseau horaire en C#
- 18. Dates sans composant de fuseau horaire ou de fuseau horaire dans Java/MySQL
- 19. Mise en correspondance hibernate pour "horodatage sans fuseau horaire" postgresql?
- 20. J2ME Obtenir le fuseau horaire actuel
- 21. Comment définir un fuseau horaire client identique à celui de la fenêtre Fuseau horaire du serveur .NET C#
- 22. Comment obtenir la valeur du fuseau horaire dans SSRS
- 23. Fuseau horaire de l'application Web Problème
- 24. Conversion de l'heure locale en UTC (compte tenu du fuseau horaire local)
- 25. Fuseau horaire Solaris en C (% z sur strftime absent)
- 26. Problème de fuseau horaire dans Java/Linux
- 27. .NET 2.0 DateTime.ToString() conversion à un fuseau horaire différent
- 28. Covert NSString à NSDate dans un fuseau horaire différent
- 29. Javascript Différence entre fuseau horaire et GMT
- 30. Comment définir le fuseau horaire dans Trac?