Esempio n. 1
0
        public string Format(string datetime, int format_type)
        {
            date = new Datetime();
            //Obter dia usando método da classe
            int day = date.GetDay(datetime);

            //Obter mês usando método da classe
            int month = date.GetMonth(datetime);

            //Obter ano usando método da classe
            int year = date.GetYear(datetime);

            //Obter hora usando método da classe
            int hour = date.GetHours(datetime);

            //Obter minutos usando método da classe
            int minutes = date.GetMinutes(datetime);

            //Testes usando ternários para determinar a formatação da string de retorno.
            //Dia e mês
            string dayStr   = day < 10 ? "0" + day.ToString() : day.ToString();
            string monthStr = month < 10 ? "0" + month.ToString() : month.ToString();

            //Hora e minuto
            string hoursStr   = hour < 10 ? "0" + hour.ToString() : hour.ToString();
            string minutesStr = minutes < 10 ? "0" + minutes.ToString() : minutes.ToString();

            string monthName = date.Month(month, year).Name;

            //Formatar a data.
            if (format_type == 2)
            {
                //2 -> dd-mm-yyyy hh:mm
                return(string.Format("{0}-{1}-{2} {3}:{4}",
                                     dayStr, monthStr, year.ToString(), hoursStr, minutesStr).ToUpper());
            }

            if (format_type == 3)
            {
                //3 -> dd-Mes-yyyy hh:mm
                return(string.Format("{0}-{1}-{2} {3}:{4}",
                                     dayStr, monthName, year.ToString(), hoursStr, minutesStr).ToUpper());
            }

            if (format_type == 4)
            {
                // 4 -> dd de Mes de yyyy, hh hora(s) e mm minuto(s)");
                return(string.Format("{0} de {1} de {2}, {3} hora(s) e {4} minuto(s)",
                                     dayStr, monthName, year.ToString(), hoursStr, minutesStr).ToUpper());
            }

            //1 -> dd/mm/yyyy hh:mm
            //Tipo 1 é formato default
            return(string.Format("{0}/{1}/{2} {3}:{4}", dayStr, monthStr, year.ToString(), hoursStr, minutesStr));
        }
Esempio n. 2
0
        public string SubtractHours(string datetime, long value)
        {
            //Subtract = 4000 (minutes)
            //Input = "04/03/2010 17:40"
            //Output = "01/03/2010 23:00"
            Datetime date = new Datetime();

            int day = date.GetDay(datetime);

            int month = date.GetMonth(datetime);

            int year = date.GetYear(datetime);

            int hour = date.GetHours(datetime);

            int minute = date.GetMinutes(datetime);

            //Variavel de saída
            string datimeOutup = string.Empty;

            while (value != 0)
            {
                date = new Datetime().Month(month, year);

                hour--;

                if (hour < 0)
                {
                    hour = 23;
                    //Mudou o dia
                    day--;
                }

                if (day == 0)
                {
                    //Mudou o mês
                    month--;

                    if (day == 0)
                    {
                        //Pegar último dia do mês
                        day = date.Month(month, year).LastDay;
                    }
                }

                if (month == 0)
                {
                    //Último dia do ano
                    year--;
                    month = 12;
                    day   = date.Month(month, year).LastDay;
                }

                value--;
                if (value == 0)
                {
                    return(datimeOutup = string.Format("{0}/{1}/{2} {3}:{4}",
                                                       day.ToString(), month.ToString(), year.ToString(), hour.ToString(), minute.ToString()));
                }
            }

            //Retornando string vazia caso nao existe incremento
            return(datimeOutup);
        }