Ist es möglich, Benutzern lokale Zeiten anzuzeigen, ohne JavaScript zu verwenden, wenn Sie die Werte als UTC speichern?Wie lokale UTC Datetime-Werte in ASP.Net ohne Verwendung von Javascript angegeben werden?
Antwort
Sie müssten serverseitig die Zeitzone des Clients kennen. Es gibt nicht genug Informationen in der typischen Anfrage, um diese Entscheidung zu treffen, die nächste, die Sie bekommen können, ist die Accept_Language-Kopfzeile, die Ihnen einen Anhaltspunkt gibt, aber kaum nützlich genug ist (besonders wenn der Kunde in einem Land ist, das mehrere Zeitzonen hat) .
Daher müssten Sie Benutzer, um Ihnen zu sagen, was ihre Zeitzone ist und dann eine Anmeldung oder ein Cookie verwenden, um diese Informationen zu speichern.
Sie können die Konvertierung auf der Serverseite in vb.net, C# oder was auch immer .net Sprache Ihre Verwendung tun. Sie müssen irgendwo in die lokale Zeit umrechnen.
Ihre Frage eine sehr breite Frage ohne Details, so kann ich nicht empfehlen, wie dies auf dem Server zu tun.
bearbeiten
Basierend auf den Kommentaren ich das Problem Ihr sehen ist, dass Sie die Benutzer Zeitzone, um herauszufinden, was wollen ohne Javascript ist. Ich lasse den Benutzer mir immer ihre Zeitzone mitteilen, wenn sie sich registrieren.
Ein Ansatz, der nicht perfekt wäre, würde wäre, einen Geo-IP-Lookup-Service verwenden, der Ihnen wahrscheinlich sagen wird, wo Ihr Benutzer und geben Sie Ihre bessere Granularität dann mit den Spracheinstellungen.
Dies setzt voraus, der Server weiß, welche Zeitzone der Client in ist – AnthonyWJones
Welche schwer sein wird, ohne JS zu sammeln :) – annakata
Ich glaube, das ist die nächste Sie tun können:
using System.Globalization;
// get the first language from request (en, fr, ru)
var primaryLanguage = Request.UserLanguages.First().Split(";").First();
// find a culture by this language
var culture = new CultureInfo(primaryLanguage);
// if the culture is neutral, try to find the specific one
if (culture.IsNeutralCulture)
culture = CultureInfo.GetCultures(CultureTypes.SpecificCultures).FirstOrDefault(o => o.TwoLetterISOLanguageName == primaryLanguage);
// get the string from a datetime
var datetimeText = culture ? DateTime.Now.ToString(culture) : DateTime.Now.ToString();
- 1. Anzeige von Zeitzonen ohne Verwendung von UTC
- 2. Wie konvertiert man in moment.js von UTC in lokale Zeit?
- 3. Wie lokale Zeit, die als UTC gespeichert wird, in den tatsächlichen korrekten UTC-Wert konvertiert werden
- 4. Javascript: Konvertieren eines UTC Date() Objekts in die lokale Zeitzone
- 5. Zeitzone bewusste asp.net Website für Ereignisse: UTC vs lokale Datetime
- 6. Wie kann der lokale ausgehende Netzwerkverkehr in .NET ohne Verwendung von PCap abgefangen werden?
- 7. Lokale Zeit von utc Zeit in SQL-Datenbank auf asp.net app
- 8. UTC Zeit Zeichenfolge in die lokale Zeit des Benutzers konvertieren
- 9. Wie ohne Verwendung von Methodenparameter
- 10. Sortierung UTC-Daten in Javascript
- 11. Erstellen UTC Timestamp in Javascript
- 12. Binding ckeditor Inhalt in asp.net 5 ohne Verwendung von js
- 13. Get UTC Offset von Zeitzone in Javascript
- 14. ASP.NET-Webformulare ohne JavaScript
- 15. Anwendungspfad ohne Verwendung von httpcontext abrufen. (asp.net)
- 16. Konvertieren Sie UTC DateTimes global in benutzerdefinierte lokale DateTimes
- 17. Lokale Zeit konvertieren in UTC Zeit in Hive
- 18. Benutzerdefinierte Ereignisse Modell ohne Verwendung von DOM-Ereignissen in JavaScript
- 19. Lokale Verwendung einer Webapp
- 20. Javascript UTC Zeitstempel zu lokaler Zeitzone
- 21. Benutzerverwaltung in asp.net ohne Verwendung von Cookie oder Sitzung
- 22. So ändern Sie Markup in ASP.NET ohne Verwendung von Antwortfilter
- 23. Lokale xls/xlsx-Datei in Javascript lesen
- 24. Verwendung der aktuellen Zeit in UTC als Standardwert in PostgreSQL
- 25. eine lokale Zeit mit Zeitzone in UTC mit Ctime
- 26. Konvertieren von UTC Datetime zu lokalem Datetime
- 27. Wie wird ein "verursacht von" in einem JavaScript-Fehler angegeben?
- 28. Javascript konvertieren Datum zu UTC
- 29. Lokale ASP.Net-Verbindungsprobleme
- 30. Warum sollte [0] bei Verwendung des neuen FormData() angegeben werden?
Dank.. Ja, es muss Zeitzone für das Benutzerprofil gespeichert werden. – BlueSky