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
}