Guest Dan Dao Postado Novembro 17, 2005 Denunciar Share Postado Novembro 17, 2005 Olá, tenho q fazer um programa q converta data do padrão americano para o brasileiro e vice-versa.....o cara digita a data no formato como nos Exemplos abaixo:americano: 2005/12/23 tem q ficar 23/12/2005brasileiro: 23/12/2005 tem q ficar 2005/12/23alguém sabe fazer isso pra mim? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 18, 2005 Denunciar Share Postado Novembro 18, 2005 Esse não é o padrão americano. Para o padrão americano é só inverter o mês com o dia, mas o ano permanece por último. Isso que você é tem um padrão tipo ISO, sendo que este seria com "-" e não com "/". Mas, que tipo de objeto você está utilizando para representar uma data?Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Dan Dao Postado Novembro 18, 2005 Denunciar Share Postado Novembro 18, 2005 Estou usando:char data[10]porque o cara vai digitar a data no formato yyyy/mm/dd ai o programa vai ter q imprimi-la no formato dd/mm/yyyy Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 18, 2005 Denunciar Share Postado Novembro 18, 2005 Ah tá, se está em uma vetor de chars (string) então é só uma questão de pegar as partes:#include <stdlib.h> #include <string.h> #include <stdio.h> int main() { char data[] = "2005/11/18"; char ano[5], mes[3], dia[3]; ano[0] = '\0'; strncat(ano, data, 4); ano[4] = '\0'; mes[0] = '\0'; strncat(mes, data+5, 2); mes[2] = '\0'; dia[0] = '\0'; strncat(dia, data+8, 2); dia[2] = '\0'; printf("%s/%s/%s\n", dia, mes, ano); system("pause"); }Certo? Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Dan Dao Postado Novembro 18, 2005 Denunciar Share Postado Novembro 18, 2005 Ahh obrigado...testei aki e deu certinho,.....mas e se fosse o contrario? tipo passar de dd/mm/yyyy para yyyy/mm/dd? o que mudaria? E tem como você me explicar as linhas do programa? p mim entender o q esta sendo feito? Abraços!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 18, 2005 Denunciar Share Postado Novembro 18, 2005 Ahh obrigado...testei aki e deu certinho,.....mas e se fosse o contrario? tipo passar de dd/mm/yyyy para yyyy/mm/dd? o que mudaria? E tem como você me explicar as linhas do programa? p mim entender o q esta sendo feito? Abraços!!! Sim, claro. O importante ali é a função strncat() que permite copiar um pedaço de uma string em outra. No caso...strncat(ano, data, 4); ... copia os *4* primeiros caracteres de *data* para *ano*. E... strncat(mes, data+5, 2); ... copia os *2* primeiros caracteres de *data* para *ano*, a partir da *5ª* posição (por isso o +5). O mesmo vale para "dia", porém a partir da 8ª posição. E, a atribuição... ano[0] = '\0'; ... é para deixar a string "vazia", para que strncat concatene os dados no começo dela. Já... ano[4] = '\0';... é para determinar o final dela (após os dados serem inseridos).No caso, basta alterar os valores nas chamadas de strncat() para poder pegar datas em outros formatos.Certo? Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Dan Dao Postado Novembro 18, 2005 Denunciar Share Postado Novembro 18, 2005 Ok...deu pra entender tudinho....Abraços!!!! Felicidades p você Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 18, 2005 Denunciar Share Postado Novembro 18, 2005 Ok...deu pra entender tudinho....Abraços!!!! Felicidades p você Igualmente! Aproveita e se cadastra aí no fórum para ajudar a nossa comunidade a crescer.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Dan Dao
Olá, tenho q fazer um programa q converta data do padrão americano para o brasileiro e vice-versa.....o cara digita a data no formato como nos Exemplos abaixo:
americano: 2005/12/23 tem q ficar 23/12/2005
brasileiro: 23/12/2005 tem q ficar 2005/12/23
alguém sabe fazer isso pra mim?
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.