tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Nico Graichen
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
827
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Hi Leute,

    ich schreibe gerade eine Client/Server Anwendung, die Kommunikation läuft Diffie-Hellmann verschlüsselt und die Objekte werden mit dem JavaScriptSerializer als JSON serialisiert.

    Das funktioniert bei Int32 und string sehr gut, das mit dem DateTime schien zu funktionieren, bis ich etwas genauer hinguckte.

    Bei jeder Serialisierung nach JSON und anschließender Deserialisierung wieder nach DateTime ist das Datum immer -1 (von dem wie ich es Serialisiert habe).

    Gebe 05.05.2010 ein, kommt nach dem Serialisieren und Deserialisieren 04.05.2010 raus...


    Dies kann man auch durch das kurze folgende Beispiel nachvollziehen:

    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Web.Script.Serialization;
     
    namespace DateTimeJSON
    {
       class Program
       {
          static void Main(string[] args)
          {
             JavaScriptSerializer s = new JavaScriptSerializer();
             DateTime t = new DateTime(2010, 5, 5);
     
             string str = s.Serialize(t);
     
             DateTime t2;
     
             t2 = s.Deserialize<DateTime>(str); // In t2 steht jetzt 04.05.2010
          }
       }
    }

    Ich werde mich über Hilfe freuen.

    \edit:

    In DateTime vorher steht 05.05.2010 00:00:00 und nach dem Serialisieren 04.05.2010 22:00:00 als ob er da irgendwelche Zeitzonen oder so reinrechnet....
    Geändert von RudolfG (18.01.11 um 21:04 Uhr) Grund: Kommentar hinzugefügt.
     
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

  2. #2
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    In der Serialisierung ist keine Information des Offsets enthalten. Demnach wird beim Deserialisieren davon ausgegangen, dass das angegebene Datum Utc ist (siehe Property Kind).
    Wenn du die Methode ToLocalTime() ausrufst kriegst du wieder deinen Ausgangswert (da in der gleichen Zeitzone / gleicher Offset)
    RudolfG bedankt sich. 
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  3. #3
    Avatar von RudolfG
    RudolfG RudolfG ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    Gummersbach (NRW)
    Beiträge
    337
    Hey Nico,

    vielen Dank, dass ist eigentlich auch Logisch (zumindest wenn man es weiß )
     
    Technologien
    (Gute) Grundkenntnisse: HTML, CSS
    Fortgeschrittene-Kenntnisse: C++/Qt, C# (WinForms, Webservice), SQL

Ähnliche Themen

  1. [C#] DateTime
    Von Xenolith im Forum .NET Windows Forms
    Antworten: 12
    Letzter Beitrag: 21.01.09, 15:46
  2. RSS und das DATETIME
    Von djscorpion im Forum PHP
    Antworten: 2
    Letzter Beitrag: 12.04.08, 10:49
  3. DateTime
    Von wpb im Forum .NET Café
    Antworten: 3
    Letzter Beitrag: 05.09.05, 08:52
  4. DateTime - DateTime = ... (in Minuten)
    Von stephan r. im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 25.05.05, 16:32
  5. DATETIME und BETWEEN?
    Von Wolfsbein im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 14.08.03, 18:56