Hiermit konvertiere ich von einem Datetime-Format in .net in jQuery. In Anlehnung an Dans Antwort:
%Vor%Ich habe einen jQuery UI-Datepicker, den ich mit einem Textfeld in ASP.NET MVC verwenden möchte. Die Datumsanzeige im Textfeld wird über CultureInfo lokalisiert und sollte natürlich von jquery erkannt werden, um das richtige Datum im Datepicker auszuwählen:
%Vor%Was ich jetzt versuche ist, den Datepicker mit einem Datumsformat wie
zu initialisieren %Vor%Das Problem ist, dass das Format der Formatzeichenfolge von DateTimeFormatInfo (siehe MSDN Link) unterscheidet sich vollständig von der Formatzeichenfolge in jQuery (jQuery formatDate) .
Beispiel (deutsches Datumsformat wie 16.07.2009):
%Vor%Gibt es eine Methode oder eine Bibliothek, die die erforderliche Transformation zwischen den beiden Formaten durchführt?
Ich bin gerade auf das gleiche Problem gestoßen und habe den folgenden Code erstellt. Es ist nicht perfekt, aber sollte die meisten Kulturen abdecken und anmutig ausfallen. Es ist wahrscheinlich auch nicht die kürzeste Version, die Sie sich vorstellen können!
%Vor%Ich habe einen jQuery UI-Datepicker, den ich mit einem Textfeld in ASP.NET MVC verwenden möchte. Die Datumsanzeige im Textfeld wird über CultureInfo lokalisiert und sollte natürlich von jquery erkannt werden, um das richtige Datum im Datepicker auszuwählen:
%Vor%Was ich jetzt versuche ist, den Datepicker mit einem Datumsformat wie
zu initialisieren %Vor%Das Problem ist, dass das Format der Formatzeichenfolge von DateTimeFormatInfo (siehe MSDN Link) unterscheidet sich vollständig von der Formatzeichenfolge in jQuery (jQuery formatDate) .
Beispiel (deutsches Datumsformat wie 16.07.2009):
%Vor%Gibt es eine Methode oder eine Bibliothek, die die erforderliche Transformation zwischen den beiden Formaten durchführt?
Ich denke, das wird der einfachste Weg sein ...
%Vor%Wenn nur ShortDatePattern konvertiert werden muss, bietet der folgende Code, was ich brauche:
%Vor%Einbeziehen von Javascript in die Seite:
%Vor%Es werden jedoch keine Monats- oder Tagesnamen, keine Zeitformatierung oder andere Sonderfälle behandelt.
Es ist vielleicht nicht die perfekte Lösung, aber es kann Ihnen den Einstieg erleichtern. jQuery hat keine Methoden zum Arbeiten mit Datumsangaben, aber JavaScript funktioniert.
Zuerst hat es eine Methode %code% , die es ermöglicht, Datumszeichenfolgen auf einen Wert mit einer Anzahl von Millisekunden ab dem 1. Januar 1970 zu analysieren. Sie können diesen Wert verwenden, um ein neues Datumsobjekt zu erstellen und alle benötigten Daten daraus zu extrahieren Objekt.
%Vor%Leider behandelt %code% nicht gut punktierte Strings wie %code% , aber dafür gibt es auch eine Lösung. Sie können alle Punkte einfach durch Schrägstriche ersetzen:
%Vor%Trotzdem wird %code% kein Datumsformat verstehen, das .NET zurückgibt, aber in einigen Fällen nützlich sein kann.
Wenn Sie jetzt ein Date-Objekt erstellt haben, können Sie es jetzt in ein beliebiges Datumsformat konvertieren. Das ist eigentlich ziemlich einfach. Es gibt eine Implementierung der PHP-Datumsformatmethode für JS. Sie können es hier finden.
Wenn Sie das zu Ihren Skripten hinzufügen, können Sie Ihr Datum mit den in der Dokumentation beschriebenen Tokens formatieren und es gibt viele. Zum Beispiel
%Vor%Hiermit konvertiere ich von einem Datetime-Format in .net in jQuery. In Anlehnung an Dans Antwort:
%Vor%Es ist vielleicht nicht die perfekte Lösung, aber es kann Ihnen den Einstieg erleichtern. jQuery hat keine Methoden zum Arbeiten mit Datumsangaben, aber JavaScript funktioniert.
Zuerst hat es eine Methode Date.parse()
, die es ermöglicht, Datumszeichenfolgen auf einen Wert mit einer Anzahl von Millisekunden ab dem 1. Januar 1970 zu analysieren. Sie können diesen Wert verwenden, um ein neues Datumsobjekt zu erstellen und alle benötigten Daten daraus zu extrahieren Objekt.
Leider behandelt Date.parse()
nicht gut punktierte Strings wie 2007.03.01
, aber dafür gibt es auch eine Lösung. Sie können alle Punkte einfach durch Schrägstriche ersetzen:
Trotzdem wird Date.parse()
kein Datumsformat verstehen, das .NET zurückgibt, aber in einigen Fällen nützlich sein kann.
Wenn Sie jetzt ein Date-Objekt erstellt haben, können Sie es jetzt in ein beliebiges Datumsformat konvertieren. Das ist eigentlich ziemlich einfach. Es gibt eine Implementierung der PHP-Datumsformatmethode für JS. Sie können es hier finden.
Wenn Sie das zu Ihren Skripten hinzufügen, können Sie Ihr Datum mit den in der Dokumentation beschriebenen Tokens formatieren und es gibt viele. Zum Beispiel
%Vor%Tags und Links javascript .net c# jquery