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.392 ]
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
Controle de estoque com listas
Manipulação de um vetor de registros
Um Classico exercicio de Lógica de Programação
Arquivos utilizados no artigo: "Desenvolvendo um plugin para o XMMS"
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









