Konvertieren von .NET DateTimeFormatInfo in Javascript jQuery FormatDate?

8

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?

    
mattanja 16.07.2009, 16:04
quelle

5 Antworten

8

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.

    
mattanja 09.08.2009, 20:19
quelle
6

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%     
Dan 07.08.2009 13:01
quelle
2
___ answer1244587 ___

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%     
___ qstnhdr ___ Konvertieren von .NET DateTimeFormatInfo in Javascript jQuery FormatDate? ___ qstntxt ___

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?

    
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert. ___ answer1244674 ___

Ich denke, das wird der einfachste Weg sein ...

%Vor%     
___ answer1252171 ___

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.

    
___ answer1139408 ___

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.

Parsing Datum

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.

Formatierungsdatum

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%     
___ tag123net ___ Das .NET-Framework ist ein Software-Framework, das hauptsächlich für das Microsoft Windows-Betriebssystem entwickelt wurde. Es enthält eine Implementierung der Basisklassenbibliothek, Common Language Runtime (allgemein als CLR bezeichnet), Common Type System (allgemein als CTS bezeichnet) und Dynamic Language Runtime. Es unterstützt viele Programmiersprachen, einschließlich C #, VB.NET, F # und C ++ / CLI. NICHT für Fragen zu .NET Core verwenden. ___ tag123javascript ___ JavaScript (nicht zu verwechseln mit Java) ist eine dynamische Sprache mit mehreren Paradigmen auf hoher Ebene, die sowohl für das clientseitige als auch für das serverseitige Scripting verwendet wird. Verwenden Sie dieses Tag für Fragen zu ECMAScript und seinen verschiedenen Dialekten / Implementierungen (außer ActionScript und Google-Apps-Script). ___ tag123jquery ___ jQuery ist eine beliebte Cross-Browser-JavaScript-Bibliothek, die das DOM-Traversal (Document Object Model), die Ereignisbehandlung, Animationen und AJAX-Interaktionen erleichtert, indem die Diskrepanzen zwischen Browsern minimiert werden. Eine mit jQuery gekennzeichnete Frage sollte mit jQuery in Zusammenhang stehen, daher sollte jquery von dem fraglichen Code verwendet werden, und mindestens eine jquery-nutzungsbezogene Elemente müssen in der Frage enthalten sein. ___ antwort10113975 ___

Hiermit konvertiere ich von einem Datetime-Format in .net in jQuery. In Anlehnung an Dans Antwort:

%Vor%     
___
Jeremy 11.04.2012 21:03
quelle
1

Ich denke, das wird der einfachste Weg sein ...

%Vor%     
Josh Stodola 07.08.2009 13:22
quelle
0

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.

Parsing Datum

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.

%Vor%

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:

%Vor%

Trotzdem wird Date.parse() kein Datumsformat verstehen, das .NET zurückgibt, aber in einigen Fällen nützlich sein kann.

Formatierungsdatum

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%     
RaYell 16.07.2009 18:27
quelle

Tags und Links