fun formattaData(datap:String):String { //-------------- formatta data come yyyy-MM-dd ------- var data1 = "" var data2 = "" var p_data = datap var k = 0 var errore = false //--- elimina eventuale presenza dei campi ore:minuti:secondi valorizzati a 0 if (p_data.contains(" 00:")) { k = p_data.indexOf(" 00:") if (k>0) p_data = p_data.substring(0,k) } //----- se la data è nel formato yyyy-MM-dd nessuna operazione //----- se la data è nel formato yyyy/MM/dd sostituzione di / con - var pattern = Pattern.compile("^\\d{4}(/|-)\\d{2}(/|-)\\d{2}\$", Pattern.CASE_INSENSITIVE) val matcher: Matcher = pattern.matcher(p_data) if (matcher.find()) { data2 = p_data.replace('/', '-') } // if (data2.length == 0) { var pattern = Pattern.compile("^\\d{2}(/|-)\\d{2}(/|-)\\d{4}\$", Pattern.CASE_INSENSITIVE) val matcher: Matcher = pattern.matcher(p_data) if (matcher.find()) { data1 = p_data.replace('-', '/') val sdf1 = SimpleDateFormat("dd/MM/yyyy") try { var d = sdf1.parse(data1) //conversione da stringa a data val sdf2 = SimpleDateFormat("yyyy-MM-dd") //conversione da da data a stringa nel formato yyyy-MM-dd data2 = sdf2.format(d) } catch (e:Exception) { data2 = "Errore: " + datap } } else { data2 = "Errore: " + datap } } return data2 }