Método Java para converter um String para Date.
A vantagem deste método é que se o padrão for dd/MM/yyyy e se o usuário digitar 17/10/10, o método converte o "10" para "2010" automaticamente.
public Date stringToDate(String string, String pattern)
throws Throwable {
Date data = null;
if (JavaUtils.isStringNaoVazia(string)) {
// Caso o padrão seja dia/mês/ano e o usuário tenha digitado o ano
// com dois dígitos. (Ex.: 07)
// o ano deve ser 2007
if (JavaUtils.isObjectsIguais("dd/MM/yyyy", pattern) && string.length() == 8) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(string.substring(0, 6));
stringBuffer.append("20");
stringBuffer.append(string.substring(6));
string = stringBuffer.toString();
}
// Caso o padrão seja mês/ano e o usuário tenha digitado o ano com dois
// dígitos. (Ex.: 07)
// o ano deve ser 2007
if (JavaUtils.isObjectsIguais("MM/yyyy", pattern) && string.length() == 5) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(string.substring(0, 3));
stringBuffer.append("20");
stringBuffer.append(string.substring(3));
string = stringBuffer.toString();
}
// Caso o padrão seja dia/mês/ano HH:mm e o usuário tenha digitado o ano
// com dois dígitos. (Ex.: 07)
// o ano deve ser 2007
if (JavaUtils.isObjectsIguais("dd/MM/yyyy HH:mm", pattern) && string.length() == 14) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(string.substring(0, 6));
stringBuffer.append("20");
stringBuffer.append(string.substring(6));
string = stringBuffer.toString();
}
// Caso o padrão seja mês/ano HH:mm e o usuário tenha digitado o ano
// com dois dígitos. (Ex.: 07)
// o ano deve ser 2007
if (JavaUtils.isObjectsIguais("MM/yyyy HH:mm", pattern) && string.length() == 11) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(string.substring(0, 3));
stringBuffer.append("20");
stringBuffer.append(string.substring(3));
string = stringBuffer.toString();
}
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
sdf.setLenient(false);
data = sdf.parse(string);
}
return data;
}
Nenhum comentário:
Postar um comentário