SimpleDateFormat

G

Gast2

Gast
Hallo zusammen,

kann man ein SimpleDateFormat umbiegen, so dass ich immer Tag/Monat/Jahr ausgeben kann. Je nach Format welches das SimpleDateFormat gerade besitzt?
 
B

bygones

Gast
d.h. wenn ich explizit das Format Monat/Tag/Jahr ihm gebe, soll er dennoch Tag/Monat/Jahr ausgeben ?
 
G

Gast2

Gast
Okay falsch beschrieben.

Ich bekomme ein SDF Format rein und ich hab eine Validierunskomponente(vorgegeben) der parst halt nach 3 strings ob das datum gültig ist:
1. "dmy"
2. "mdy"
3. "ymd"

Und das will ich halt irgendwie synchron halten.
 
S

SlaterB

Gast
das Ziel ist noch nicht klar, was soll eigentlich die Ausgabe werden, Date oder String?
wenn drei Formate möglich sind musst eh irgendwann irgendwo die drei SimpleDateFormat auf den unbekannten String loslassen,
irgendwer wird schon ein Date liefern, das kannst du danach so weiterverwenden oder bei Bedarf in einem bestimmten Format formatieren,
wo an dieser Stelle besteht ein Problem, was soll anders ablaufen?

wobei
> Ich bekomme ein SDF Format rein
wiederum nach ganz was anderem klingt, wahrscheinlich habe ich es falsch verstanden

---

ich hab am Anfang schon spaßeshalber folgendes zusammenprogramiert,
aber das ist ja so simpel dass ich mich bisher getraut habe es zu posten ;) :
Java:
public class Test {
    public static void main(String[] args)    throws ParseException  {
        SimpleDateFormat better = new SimpleDateFormat("dd/MM/yyyy");
        SimpleDateFormat older = new SimpleDateFormat("yyyy:dd:MM");
        DateFormatChanger c = new DateFormatChanger(better,older);       
        System.out.println(c.parseFormat("2009:30:12"));
    }
}
class DateFormatChanger {
    private DateFormat better;
    private DateFormat older;

    public DateFormatChanger(DateFormat better, DateFormat older)  {
        this.better = better;
        this.older = older;
    }

    public String parseFormat(String old)  throws ParseException {
        return better.format(older.parse(old));
    }
}
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Nee will aus nem SimpleDateFormatter einen String basteln abhängig vom pattern. ich muss es in eine der 3 möglichkeiten umwandeln beispiele dabei. aber gibts wohl nichts darum selber was überlegen^^...


1.dmy z.b. dd.mm.yyyy
2.mdy z.b mm.dd.yyyy
3.ymd z.b. yyyy.mm.dd
 

Andreas29

Bekanntes Mitglied
Hi,

Wenn ich dich richtig verstanden habe, hast du also einen String, der in einem der drei genannten Datumsformate vorliegt. Du weißt aber nicht in welchem, richtig? Wenn das so ist, frag ich mich, wie das Ganze überhaupt funktionieren soll. Denn wenn ich nicht weiß, welches Format der String hat, kann ich auch nicht sagen, ob der String "030510" den dritten Mai oder den 5. März meint.

Falls du irgendeine Markierung hast, würde ich mir eine Art SimpleDateFormatterCache schreiben, der eine Maple von Markiert auf korrekt initialisierte SimpleDateFormatter Instanzen hält und je nach Marker die richtige Instanz liefert.

Nur so eine erste Idee und Frage.

Schönen Abend noch,
Andreas
 
G

Gast2

Gast
klar weiß ich welchen ich nehmen muss...
ich muss nur vom SimpleDateFormat das toPattern aufrufen und dann halt schauen ist wo ist 'D' wo ist 'M' wo ist 'Y'. Je nach position weiß ich es ja, ist zwar häßlich aber was anderes fällt mir nicht und gibts wohl auch nicht.
 

ARadauer

Top Contributor
Also du bekommst ein zb ein Format wie "dmy" und willst dann das ensprechend richte DateFormat benutzen?

Java:
 HashMap<String, DateFormat> dateFormatMap = new HashMap<String, DateFormat>();
      dateFormatMap.put("dmy", new SimpleDateFormat("dd.MM.yyyy"));
      dateFormatMap.put("mdy", new SimpleDateFormat("MM.dd.yyyy"));
      dateFormatMap.put("ymd", new SimpleDateFormat("yyyy.MM.dd"));
   
      
      String format = "ymd";
      String dateToParse = "1983.11.07";
      
      System.out.println(dateFormatMap.get(format).parseObject(dateToParse));
wäre das eine lösung?
 
G

Gast2

Gast
Nee^^...

Ich bekomm irgendein SimpleDateFormat dass ich zur Anzeige habe... EGAL was für eins...

Und es gibt in JSF Tag welches die Validierung übernimmt (Kein Einfluss drauf). Und das Ding kann eben nur die 3 Formate und ich muss halt die richtige Reihenfolge für 'D' , 'M' und 'Y' rausfinden um den Validierungsstring richtig zu setzen...
Weil wenn ich SimpleDateFormat MM/dd/yy habe. Muss ich als Validierungstag "mdy" setzen.
und nicht "dmy" weil sonst Monat und Tag vertauscht ist.

Deshalb wollte ich wissen ob man von SimpleDateFormat irgendwie die Reihenfolge von Tag Monat Jahr rausfinden kann. Aber wohl nicht darum selber machen ;)...
 
G

GladstoneGander

Gast
Deshalb wollte ich wissen ob man von SimpleDateFormat irgendwie die Reihenfolge von Tag Monat Jahr rausfinden kann. Aber wohl nicht darum selber machen ;)...
Du kannst dir das aktuelle Pattern jederzeit mit der Methode toPattern() aus der Klasse SimpleDateFormat holen. Musst den String dann halt auswerten (mit 'nem regulären Ausdruck z.B.).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A SimpleDateFormat Wochentag Monat Allgemeine Java-Themen 11
B SimpleDateFormat oder doch lieber GregorianCalendar Allgemeine Java-Themen 3
L Validierung einer Zeichenkette für SimpleDateFormat Allgemeine Java-Themen 10
E SimpleDateFormat-Konvertierung funktioniert nicht Allgemeine Java-Themen 3
Grejak Date und SimpleDateFormat Allgemeine Java-Themen 6
R SimpleDateFormat Allgemeine Java-Themen 8
K SimpleDateFormat Fehler Allgemeine Java-Themen 3
T SimpleDateFormat.parse() liefert falschen Tag Allgemeine Java-Themen 2
D Klassen Zeit aus NMEA-Stream in SimpleDateFormat Allgemeine Java-Themen 17
N SimpleDateFormat: Unparseable date Allgemeine Java-Themen 5
G SimpleDateFormat Allgemeine Java-Themen 7
H2SO3- String(pattern) von SimpleDateFormat auslesen Allgemeine Java-Themen 7
A String zu Datum parsen - SimpleDateFormat Problem Allgemeine Java-Themen 8
I SimpleDateFormat Allgemeine Java-Themen 8
P SimpleDateFormat/Date Allgemeine Java-Themen 4
RaoulDuke Problem mit SimpleDateFormat Allgemeine Java-Themen 4
E XML dateTime String in Date mit SimpleDateFormat umwandeln Allgemeine Java-Themen 5
B SimpleDateFormat fehler? Allgemeine Java-Themen 2
thE_29 SimpleDateFormat ? Allgemeine Java-Themen 14
G SimpleDateFormat Allgemeine Java-Themen 5
G SimpleDateFormat und Locale Allgemeine Java-Themen 10
N Problem mit SimpleDateFormat Allgemeine Java-Themen 14

Ähnliche Java Themen

Neue Themen


Oben