Używam usługi WCF, która zwraca bieżący czas serwera. Mój klient znajduje się w innej strefie czasowej. Kiedy zadzwonię do tej usługi, to automatycznie konwertuje czas zwrócony przez serwer na czas lokalny, którego nie chcę. Jak mogę to zignorować?Czas konwersji WCF na podstawie strefy czasowej automatycznie
Odpowiedz
Konwertuj wysyłane z usługi WCF na UTC, a gdy tworzysz nowe czasy w kliencie, określ je jako rodzaj UTC. To będzie podstawą czasu do uniwersalnej standardowej strefy czasowej. Możesz wyświetlić czas klientowi i upewnić się, że jest to czas UTC. To złagodzi wszelkie rozbieżności lub niejasności dotyczące tego, czym jest ten czas.
DateTime serverTimeRaw = myService.GetServerTime();
DateTime serverTimeUTC = new DateTime(serverTimeRaw.Ticks, DateTimeKind.Utc);
Console.WriteLine(serverTimeUTC); // Prints server time as UTC time
Jeśli rzeczywiście muszą reprezentować razy w ich odpowiedniej strefy czasowej, trzeba będzie wysyłać informacje o strefie czasowej wraz z DateTime. Polecam tworzenie typu, który zawiera obie części informacji i zwraca je zamiast samego DateTime. Informacje o strefie czasowej nie są nieodłącznym elementem obiektu DateTime. Są to dwie odrębne kwestie, które zapewniają kompozytowe znaczenie tylko wtedy, gdy są faktycznie skomponowane.
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. Czas konwersji Jazime czas strefy czasowej na millis
- 2. Dziwny problem konwersji daty strefy czasowej Java
- 3. Konwersja strefy czasowej silverlight
- 4. Charakter POSIXct konwersji w R powoduje błędne wartości strefy czasowej na czas letni przejścia (CEST/CET))
- 5. Zapobieganie konwersji strefy czasowej przy deserializacji wartości DateTime
- 6. Ustawianie strefy czasowej programowo działa tylko dla strefy czasowej + UTC
- 7. lokalnej strefy czasowej w Ruby
- 8. Jak uzyskać aktualny czas na podstawie Strefy czasowej w celu c?
- 9. Jak wyświetlić przesunięcie strefy czasowej, identyfikator strefy czasowej i długą nazwę w Joda Czas/Java 8?
- 10. HttpCookie.Expire implikacje strefy czasowej?
- 11. Python - datetime określonej strefy czasowej
- 12. Jak uzyskać czas UTC "północy" dla danej strefy czasowej?
- 13. Python uzyskać aktualny czas w prawym strefy czasowej
- 14. PHP data datownik do strefy czasowej użytkownika
- 15. Nazwa strefy czasowej PHP na przesunięcie
- 16. W MySQL przesunięcie kakcyjne dla strefy czasowej
- 17. Przesunięcie strefy czasowej aktualizacji PostgreSQL
- 18. Odliczanie JavaScript przy użyciu strefy czasowej absolutnej?
- 19. Domyślna konfiguracja strefy czasowej PHP
- 20. Ustawianie strefy czasowej trybu org
- 21. Swift 3 wydanie strefy czasowej
- 22. Używanie strefy czasowej w pandach to_datetime
- 23. DateTime ISO 8601 bez komponentu strefy czasowej
- 24. Baza danych mapowania kraju do strefy czasowej
- 25. Dynamiczne przesunięcie strefy czasowej w agregacji elastycznej?
- 26. Wyświetlanie skrótu strefy czasowej za pomocą Date.js
- 27. Ustawienie strefy czasowej w Pythonie
- 28. Zmiana strefy czasowej w Tomcat
- 29. Określanie strefy czasowej wyjścia cqlsh
- 30. Konwersja znacznika czasu Unix do strefy czasowej?