package com.cni.utilitarios;

/**
 * Insert the type's description here.
 * Creation date: (11/16/00 5:46:49 PM)
 * @author: Administrator
 */



public class Data {
/**
 * Insira a descrição do método aqui.
 * Data de criação: (22/11/00 16:19:32)
 * @return java.lang.String
 */
public static String gregorianToAAAAMMDD(java.util.GregorianCalendar data) {
	try {
		int diaInt = data.get(data.DAY_OF_MONTH), mesInt = data.get(data.MONTH) + 1, anoInt = data.get(data.YEAR);
		String dia = String.valueOf(diaInt);
		if (mesInt == 0) {
			mesInt = 12;
			anoInt--;
		}
		String mes = String.valueOf(mesInt);
		String ano = String.valueOf(anoInt);

		if (diaInt < 10)
			dia = "0" + dia;
		if (mesInt < 10)
			mes = "0" + mes;
		return (ano + mes + dia);
	} catch (Exception e) {
		//System.out.println(e.toString());
		return "";
	}
}
/**
 * Insira a descrição do método aqui.
 * Data de criação: (05/12/00 18:20:42)
 * @return java.lang.String
 * @param dtGreg java.util.GregorianCalendar
 */
public static String gregorianToDB2(java.util.GregorianCalendar data) {
	try {
		int diaInt = data.get(data.DAY_OF_MONTH), mesInt = data.get(data.MONTH) + 1, anoInt = data.get(data.YEAR);
		String dia = String.valueOf(diaInt);
		if (mesInt == 0) {
			mesInt = 12;
			anoInt--;
		}
		String mes = String.valueOf(mesInt);
		String ano = String.valueOf(anoInt);

		if (diaInt < 10)
			dia = "0" + dia;
		if (mesInt < 10)
			mes = "0" + mes;
		return (ano + "-" + mes + "-" + dia);
	} catch (Exception e) {
		//System.out.println(e.toString());
		return "";
	}
}
/**
 * Insira a descrição do método aqui.
 * Data de criação: (22/11/00 16:19:32)
 * @return java.lang.String
 */
public static String gregorianToDDMMAA(java.util.GregorianCalendar data) {
	try {
		int diaInt = data.get(data.DAY_OF_MONTH), mesInt = data.get(data.MONTH) + 1, anoInt = data.get(data.YEAR);
		String dia = String.valueOf(diaInt);
		if (mesInt == 0) {
			mesInt = 12;
			anoInt--;
		}
		String mes = String.valueOf(mesInt);
		String ano = String.valueOf(anoInt);

		if (diaInt < 10)
			dia = "0" + dia;
		if (mesInt < 10)
			mes = "0" + mes;
		return (dia + mes + ano.substring(2));
	} catch (Exception e) {
		//System.out.println(e.toString());
		return "";
	}
}
/**
 * Insira a descrição do método aqui.
 * pData de criação: (22/11/00 17:19:52)
 * @return java.lang.String
 * @param ppData java.util.GregorianCalendar
 */
public static String gregorianToHHMMSS(java.util.GregorianCalendar pData)
{
	try
	{
		String hora, minuto, segundo;

		int horaInt = pData.get(pData.HOUR_OF_DAY);
		if (horaInt < 10)
			hora = "0" + horaInt;
		else
			hora = "" + horaInt;

		int minutoInt = pData.get(pData.MINUTE);
		if (minutoInt < 10)
			minuto = "0" + minutoInt;
		else
			minuto = "" + minutoInt;

		int segundoInt = pData.get(pData.SECOND);
		if (segundoInt < 10)
			segundo = "0" + segundoInt;
		else
			segundo = "" + segundoInt;

		return(hora + minuto + segundo);
	}
	catch (Exception e)
	{
		//System.out.println(e.toString());
		return "";
	}
}
/**
 * Insert the method's description here.
 * Creation date: (11/16/00 5:49:01 PM)
 * @return java.lang.String
 * @param data java.util.GregorianCalendar
 * @param separador char
 */
public static String gregorianToString(java.util.GregorianCalendar data, char separador) {
	try {
		int diaInt = data.get(data.DAY_OF_MONTH);
		int mesInt = data.get(data.MONTH) + 1;
		int anoInt = data.get(data.YEAR);

		String dia = String.valueOf(diaInt);
		if (mesInt == 0)
			mesInt = 12;		
		String mes = String.valueOf(mesInt);
		String ano = String.valueOf(anoInt);
		
		if (diaInt < 10)
			dia = "0" + dia;
		if (mesInt < 10)
			mes = "0" + mes;
		if (separador != ' ')
			return (dia + separador + mes + separador + ano);
		else
			return (dia + mes + ano);
	} catch (Exception e) {
		//System.out.println(e.toString());
		return ("");
	}
}
/**
 * Insira a descrição do método aqui.
 * Data de criação: (27/11/00 15:41:10)
 * @return java.lang.String
 * @param data java.sql.Date
 */
public static String sqlDateToDDMMAA(java.sql.Date data)
{
	try
	{
		String strData = data.toString();
		return(strData.substring(8) + strData.substring(5,7) + strData.substring(2,4));
	}
	catch (Exception e)
	{
		//System.out.println(e.toString());
		return "";
	}
}
/**
 * Insira a descrição do método aqui.
 * Data de criação: (27/11/00 16:03:11)
 * @return java.lang.String
 * @param data java.sql.Date
 */
public static String sqlDateToDDMMAAAA(java.sql.Date data)
{
	try
	{
		String strData = data.toString();
		return(strData.substring(8) + strData.substring(5,7) + strData.substring(0,4));
	}
	catch (Exception e)
	{
		//System.out.println(e.toString());
		return "";
	}
}
/**
 * Insert the method's description here.
 * Creation date: (11/16/00 5:52:48 PM)
 * @return java.util.GregorianCalendar
 * @param data java.lang.String
 * @param separador char
 */
public static java.util.GregorianCalendar stringToGregorian(String data) {
	try {
		java.util.GregorianCalendar dataGreg = new java.util.GregorianCalendar();
		String dia, mes, ano;
		if (data.length() == 10) {
			dia = data.substring(0, 2);
			mes = data.substring(3, 5);
			ano = data.substring(6);
			dataGreg.set(Integer.parseInt(ano), Integer.parseInt(mes) - 1, Integer.parseInt(dia));
		}
		return dataGreg;
	} catch (Exception e) {
		//System.out.println(e.toString());
		return null;
	}
}

/**
 * Insert the method's description here.
 * Creation date: (11/16/00 5:49:01 PM)
 * @return java.lang.String
 * @param data java.util.Calendar
 * @param separador char
 */
public static String calendarToString(java.util.Calendar data, char separador) {
	try {
		int diaInt = data.get(data.DAY_OF_MONTH);
		int mesInt = data.get(data.MONTH) + 1;
		int anoInt = data.get(data.YEAR);

		String dia = String.valueOf(diaInt);
		if (mesInt == 0)
			mesInt = 12;		
		String mes = String.valueOf(mesInt);
		String ano = String.valueOf(anoInt);
		
		if (diaInt < 10)
			dia = "0" + dia;
		if (mesInt < 10)
			mes = "0" + mes;
		if (separador != ' ')
			return (dia + separador + mes + separador + ano);
		else
			return (dia + mes + ano);
	} catch (Exception e) {
		//System.out.println(e.toString());
		return ("");
	}
}

/**
 * Insert the method's description here.
 * Creation date: (2/7/2001 8:25:35 PM)
 * @return java.lang.String
 * @param param int
 */
public static String formatoHora(int param) {

String ret;
int minHora = param;

if (minHora < 10)
	ret = "0" + minHora;
else
	ret = "" + minHora;

return  ret;
}

public static String getDataAtual() {
		java.util.Locale.setDefault(new java.util.Locale("pt","BR"));
		java.util.Calendar dataAtual = java.util.Calendar.getInstance();
		java.util.Date data = dataAtual.getTime();

		String hora 	= (Integer.toString(dataAtual.get(java.util.Calendar.HOUR_OF_DAY)));
		String minuto 	= (Integer.toString(dataAtual.get(java.util.Calendar.MINUTE)));
		String segundo 	= (Integer.toString(dataAtual.get(java.util.Calendar.SECOND)));

		return java.text.DateFormat.getDateInstance().format(data) + " " + hora + ":" + minuto + ":" + segundo + " ";
}

/**
 * Insert the method's description here.
 * Creation date: (8/4/2002 15:44:09)
 * @return boolean
 * @param str java.lang.String
 */
public boolean seStringToNum(String str) {

			try{
				int num;
				num = new Integer(str).intValue();
				return true;

			}catch (Exception e){
				//System.out.println("Error - "+ e.getMessage());
				return false;
			}
			
}

/**
 * Insert the method's description here.
 * Creation date: (11/16/00 5:52:48 PM)
 * @return java.util.GregorianCalendar
 * @param data java.lang.String
 * @param separador char
 */
public static java.util.Calendar stringToCalendar(String data) {
	try {
		java.util.Calendar dataCalend = java.util.Calendar.getInstance();
		String dia, mes, ano;
		if (data.length() == 10) {
			dia = data.substring(0, 2);
			mes = data.substring(3, 5);
			ano = data.substring(6);
			dataCalend.set(Integer.parseInt(ano), Integer.parseInt(mes) - 1, Integer.parseInt(dia));
		}
		return dataCalend;
	} catch (Exception e) {
		//System.out.println(e.toString());
		return null;
	}
}

/**
 * Insert the method's description here.
 * Creation date: (11/16/00 5:52:48 PM)
 * @return java.util.GregorianCalendar
 * @param data java.lang.String
 * @param separador char
 */
public static java.util.Calendar stringToCalendar(String data, String hora) {
	try {
		java.util.Calendar dataCalend = java.util.Calendar.getInstance();
		String dia, mes, ano;
		int hr= 00;
		int min = 00;
		
		if (data.trim().length() == 10) {
			dia = data.substring(0, 2);
			mes = data.substring(3, 5);
			ano = data.substring(6);
		if (hora.trim().length() == 5) {
			hr = Integer.parseInt(hora.trim().substring(0,2));
			min= Integer.parseInt(hora.trim().substring(3));
			}
		dataCalend.set(Integer.parseInt(ano), Integer.parseInt(mes) - 1, Integer.parseInt(dia), hr, min);
		}
		return dataCalend;
	} catch (Exception e) {
		//System.out.println(e.toString());
		return null;
	}
}

/**
 * Insert the method's description here.
 * Creation date: (11/16/00 5:52:48 PM)
 * @return java.sql.Date
 * @param data java.lang.String
 */
public static java.sql.Date stringToDateSql(String data) {
	try {
		java.sql.Date dataf = null;
		if (data.length() == 10) {
			String datastr = data.substring(6);
			datastr += "-";
			datastr += data.substring(3,5);
			datastr += "-";
			datastr += data.substring(0,2);
			dataf = java.sql.Date.valueOf(datastr);
		}
		return dataf;
	} catch (Exception e) {
		//System.out.println(e.toString());
		return null;
	}
}
}