Classe para manipulação e conversão de datas para std::string em C++
Publicado por César (última atualização em 01/08/2017)
[ Hits: 3.119 ]
Classe para manipulação e formatação de datas.
Desenvolvi a classe, parcialmente, para converter datas para std::strings fazendo inserção dos zero a esquerda e formatar os separadores conforme gosto do usuário,
O desenvolvedor pode usar outras funções do c++ para formatar datas, tais como a:
std::put_time(&tm, "%Y-%m-%d)
Porém minha necessidade era formatar datas no momento do input de usuário.
#ifndef _MAIN_CXX #define _MAIN_CXX #include "date.hxx" /*! * * @begin @section terms_of_use Terms of Use * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.0 of the License, or (at your option) any later version. * * @end @section terms_of_use Terms of Use * * @begin @section author Author * * @file main.cxx * @version 0.1 * @objetive converter datas para em strings * @brief main header. * @author Jean Zonta * @email wiki.anon@yahoo.com.br * @Copyright (C) 2017 Jean Zonta. * * @end @section author Author * */ int main() { time_t mt = time(0); tm* tms = localtime(&mt); int dia = tms->tm_mday; int mes = tms->tm_mon+1; int ano = tms->tm_year+1900; //funçoes ostream pega data separadas por pontos convertendo para string e imprimindo na tela Date mydate; mydate.day(07); mydate.month(07); mydate.year(2017); std::cout<<"\n\tDia: "<<mydate.getDia() <<"\n\tMes: "<<mydate.getMes() <<"\n\tAno: "<<mydate.getAno()<<"\n\n"; //funçoes istream pega data e converte para string nescessita do get para dar retorno Date data; std::cout<<"\n\t"<<data.setDia(01).setMes(07).setAno(00); std::cout<<"\n\tDia: "<<data.getDia() <<"\n\tMes: "<<data.getMes() <<"\n\tAno: "<<data.getAno()<<"\n\n"; Date date; date.setDia(dia, "-").setMes(mes,"-").setAno(ano,"\n"); std::cout<<"\n\tDia: "<<date.getDia() <<"\n\tMes: "<<date.getMes() <<"\n\tAno: "<<date.getAno()<<"\n\n"; std::cout<<"\n\t"<<Date(tms->tm_mday, tms->tm_mon+1, tms->tm_year+1900); Date d(tms->tm_mday, tms->tm_mon+1, tms->tm_year+1900); std::cout<<"\n\tDia: "<<d.getDia() <<"\n\tMes: "<<d.getMes() <<"\n\tAno: "<<d.getAno()<<"\n\n"; Date dt; unsigned int dias, meses, anos; std::cout<<"\n\tDigite uma dia mes e ano\n\tex.(01 02 02 ou 01 02 2000): "; std::cin>>dias>>meses>>anos; std::cout<<"\n\t"<<data.setDia(dias).setMes(meses).setAno(anos); dt.setDia(dias, "\"").setMes(meses,"\"").setAno(anos,"\n"); std::cout<<"\n\tDia: "<<dt.getDia() <<"\n\tMes: "<<dt.getMes() <<"\n\tAno: "<<dt.getAno()<<"\n\n"; } #endif
AIMG-mostrar imagem fraquimentada em pontos aleatórios
Fila bancária utilizando lista simplisment encadeada
Jogo da Velha com IA invencivel
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta