Se per SPLIT di stringhe intendi estrarre una sottostringa, esiste il metodo substring. Quello che chiedi tu non è complicatissimo da fare, solo che non ho capito se, all'inizio, la data viene rappresentata come stringa unica, come 3 stringhe differenti per giorno, mese, anno o se hai a disposizione tali dati in formato numerico. Se, ad esempio, la tua data è SEMPRE nel formato GG MM AAAA (ossia, sempre 2 cifre per il giorno, 2 cifre per il mese e 4 cifre per l'anno), allora si può procedere nel seguente modo (caso in cui la data sia contenuta in una stringa unica, il più complesso):
codice:
String miaData = "10/11/2004"; //Nota: è indifferente che ci siano gli slash o degli spazi come separatore
// Estraggo i vari campi come stringhe
String giorno = miaData.substring(0, 2);
String mese = miaData.substring(3, 5);
String anno = miaData.substring(6, 10);
// Ora converto in intero l'anno, perchè devo operare matematicamente
int annoIntero = Integer.parseInt(anno);
annoIntero -= 1900 // Noto che l'anno viene messo in complemento a 1900
// Ora costruisco la nuova stringa con la data nel formato DB2:
String nuovaData = "" + annoIntero + mese + giorno
Se i campi fossero già separati in stringhe indipendenti oppure fossero in formato numerico rappresentati da 3 interi, la prima parte (i substring) si può facilmente saltare.
Il problema vero sorge quando si deve convertire da formato DB2 (anno_mese_giorno con anno in complemento a 1900). Ma anche questo si può fare semplicemente, basta prendere un piccolo accorgimento, per le date inferiori al 2000:
codice:
String dataDB2 = "1041110";
// Controllo se la data è posteriore o anteriore al 2000:
if (dataDB2.length() > 6) {
// La data è posteriore al 2000
String anno = dataDB2.substring(0, 3);
String mese = dataDB2.substring(3, 5);
String giorno = dataDB2.substring(5, 7);
} else {
// La data è anteriore al 2000
String anno = dataDB2.substring(0, 2);
String mese = dataDB2.substring(2, 4);
String giorno = dataDB2.substring(4, 6);
}
// Opero il calcolo sull'anno:
int annoIntero = Integer.parseInt(anno) + 1900;
// Torno al formato GG/MM/AA della data
String data = giorno + "/" + mese + "/" + annoIntero;
Ciao.