Java date umwandeln string zurück zu Datum
In meiner JSF managed bean ich habe erklärt startDate as java.utilDate Typ und ich haben Getter und setter als gut. Aus der Datenbank Startdatum ist das Datum, Typ.
Wenn ich Sie erhalten Wert-format ist der Standard-Typ und I-format das Datum
SimpleDateFormat df = new SimpleDateFormat(" dd MMM yyyy");
Date oneDate = new Date(startDate);
df.format(oneDate);
Problem, das ich bin vor ist df.format(oneDate);
String zurückgibt.
Ist es möglich, zu konvertieren df.format(oneDate)
zurück zu Datum, so dass ich nicht brauchen, um
mein startDate Daten geben.
Jede Hilfe wird sehr geschätzt.
Dank
Verwenden Sie einfach die
Hoffe das hilft dir: docs.oracle.com/javase/1.4.2/docs/api/java/text/..., java.text.ParsePosition)
Warum nicht erweitern, Datum und verwenden Sie nur Ihre eigene toString-Methode?
Das ist eine schrecklich Beratung, würde ich sagen!
Ich Stimme mit dem, was Sie gesagt haben, ist es besser, format in der Benutzeroberfläche. Also ich habe Folgendes in meiner jsf-Seite.
parse()
Methode. Ich jedoch nicht, um zu sehen, wie das wäre nützlich. Sie würde wahrscheinlich am Ende mit der gleichen Date
Objekt, wie Sie angefangen haben. Wenn Sie beabsichtigen, formatieren Sie es für die menschliche Darstellung in einigen UI, nur formatieren Sie es genau in dem moment, Sie gehen zu den Menschen.Hoffe das hilft dir: docs.oracle.com/javase/1.4.2/docs/api/java/text/..., java.text.ParsePosition)
Warum nicht erweitern, Datum und verwenden Sie nur Ihre eigene toString-Methode?
Das ist eine schrecklich Beratung, würde ich sagen!
Ich Stimme mit dem, was Sie gesagt haben, ist es besser, format in der Benutzeroberfläche. Also ich habe Folgendes in meiner jsf-Seite.
<p:inputText value="#{vacationschedule.convertTime(vacationschedule.selectedRow.startDate)}"
und convertTime Methode in der managedBean ist public String convertTime(Date time){ Date date = new Date(); Format format = new SimpleDateFormat("yyyy MM dd"); return format.format(date); }
<p:inputText wird korrekt angezeigt, aber wenn ich verwenden möchten <p:calendar
dann bin ich immer Fehler SEVERE: java.lang.IllegalArgumentException: Cannot format given Object as a Date
InformationsquelleAutor Jåcob | 2012-02-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als pro der Kommentar auf die Frage:
Du suchst die Lösung in die falsche Richtung. Mensch-gezielte Formatierung geschieht in der View (UI) Seite, nicht in der Modell-Seite, geschweige denn der Controller Seite.
Präsentieren
Date
Objekt in eine menschliche freundliche Muster in einer JSF-Komponente, die Sie verwenden sollten<f:convertDateTime>
tag, die von standard-JSF-Komponenten-set:Diese Weise können Sie halten die Eigenschaft nur
Date
alle Zeit. Auf diese Weise werden Sie auch in der Lage sein, um speichern der bearbeitete Wert (was nicht möglich sein würde, mit dem ersten Versuch!).Als der PrimeFaces'
<p:calendar>
Komponente, es hat einepattern
Attribut für genau diesen Zweck:Herunterladen und konsultieren Sie die PrimeFaces Users Guide lernen über alle verfügbaren Attribute.
Du bist herzlich willkommen.
Ich sehe aber ein kleines problem, wenn ich die Anzeige des Datum in
<p:calendar
wird das Datum angezeigt,mit einem Datum vor, d.h. wenn ich die Auswahl01-Dec-2012
ist, wird es immer angezeigt, wie02-Dec-2012
Ist dies etwas, primefaces?Nein, es hat etwas zu tun mit der Zeitzone. Ihr system Standard-Zeitzone ist offenbar jenseits GMT.
Date
standardmäßig auf GMT. Die<p:calendar>
standardmäßig auf system-Standard-Zeitzone. Verwenden Sie dietimeZone
Attribut explizit die Zeitzone angeben, z.B.timeZone="GMT"
. Siehe auch die PrimeFaces-Benutzer Handbuch-Dokumentation, die ich verlinkt hast in meiner Antwort.BalusC nochmals vielen Dank. Wie du Sie erwähnt hast stackoverflow.com/questions/2689245/..., fügte ich
<context-param> <param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name> <param-value>true</param-value> </context-param>
web.xml und gelöst ist das Problem mit dem Datum. Geschätzt.InformationsquelleAutor BalusC
Unter Verwendung der gleichen
SimpleDateFormat
Objekt, das Sie erstellt,InformationsquelleAutor DaveJohnston
Ich hoffe, dass mein code helfen Sie
InformationsquelleAutor mandrake
Diese funktioniert bei mir:
Referenz: JSF 2.0 + Primefaces 2.x: Binden, string zum Kalender
InformationsquelleAutor Tiago PC