Formatar Data - Flex+Mysql

88 views
Skip to first unread message

Rafael Francisco Thibes

unread,
Jan 29, 2008, 6:56:43 AM1/29/08
to Lista Flexdev
Olá,

    Estou tentando formatar a data para exibir dd/mm/yyyy.
    Consigo fazer a inserção dos dados no mysql através do formatString yyyy/mm/dd, no banco aparece registrado nesse formato. Se eu mudar não registra mais.
    Acredito que é necessário fazer uma espécie de máscara para somente mostrar na tela no formato que desejo. Como posso tratar?

Atenciosamente,
Rafael
_______________________________________________________ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/

Patrick Facchin

unread,
Jan 29, 2008, 8:47:01 AM1/29/08
to fle...@googlegroups.com
É isso?
<mx:DateFormatter id="df" formatString="YYYY-MM-DD"/>
ou
<mx:DateField id="iniDate"  formatString="YYYY-MM-DD"/>





Em 29/01/08, Rafael Francisco Thibes <rafaelfran...@yahoo.com.br> escreveu:

Rafael Francisco Thibes

unread,
Jan 29, 2008, 12:27:36 PM1/29/08
to fle...@googlegroups.com
Patrick,

    Nesse formato (YYYY-MM-DD), é o que está funcionando para inserir dados no banco.

Mas preciso que ao mostrar na tela esteja usando o formato (DD-MM-YYYY).


Atenciosamente,
Rafael

----------------------------------------
Patrick Facchin escreveu:

Elvis Fernandes

unread,
Jan 29, 2008, 12:39:50 PM1/29/08
to fle...@googlegroups.com
É só usar o exemplo que o Patrick passou, adaptando pra sua necessidade!

<mx:DateField id="iniDate"  formatString="DD-MM-YYYY"/>
ou
<mx:DateField id="iniDate"  formatString="DD/MM/YYYY"/>

Isto é, se você for usar o DateField, que acredito ser o mais provável ...

Boa sorte!

Elvis



2008/1/29 Rafael Francisco Thibes <rafaelfran...@yahoo.com.br>:

Rafael Francisco Thibes

unread,
Jan 29, 2008, 2:08:17 PM1/29/08
to fle...@googlegroups.com
Elvis,

    Se eu utilizar o formato DD-MM-YYYY não grava nada no meu campo mysql.

Se eu utilizar o formato YYYY-MM-DD grava no meu campo mysql porém não mostra no formato que desejo.

Verifica Anexo de teste!


Atenciosamente,
Rafael


Elvis Fernandes escreveu:
TESTES.doc

Elvis Fernandes

unread,
Jan 29, 2008, 1:44:53 PM1/29/08
to fle...@googlegroups.com
Acho que entendi o teu problema ...

Você está "convertendo" o formato (para DD/MM/YYYY) antes de mostrar e "desconvertendo" (para "YYYY-MM-DD") antes de gravar no banco? É isso q vc precisa fazer ...

Rafael Francisco Thibes

unread,
Jan 29, 2008, 2:51:49 PM1/29/08
to fle...@googlegroups.com
Elvis,

    Isso mesmo! Para gravar preciso que seja em: "YYYY-MM-DD"
Mas para mostrar em: DD/MM/YYYY

Sabe como?

Andrey Wischneski

unread,
Jan 29, 2008, 2:40:34 PM1/29/08
to fle...@googlegroups.com
Não tem como fazer isso no back-end?

Eu faço essa formatação no php sempre que preciso inserir algo no banco de dados, e no retorno a formatação, o contrário...

Elvis Fernandes

unread,
Jan 29, 2008, 3:13:04 PM1/29/08
to fle...@googlegroups.com
Eu tb faço tudo no backend ...

Rafael, vc precisa formatar a data q vem do banco antes de devolver pro front, e vice-versa ... vc vai usar bastante a função explode ...


2008/1/29 Andrey Wischneski <andr...@gmail.com>:

Luis Carlos Quinhone

unread,
Jan 29, 2008, 9:38:41 PM1/29/08
to fle...@googlegroups.com
vc pode formatar também na própria consulta SQL
 
select *, date(seuCampoData, 'd/m/Y') as minhaData
 
Att
 
Quinhone
 
 

Rafael Francisco Thibes

unread,
Jan 30, 2008, 4:58:15 AM1/30/08
to fle...@googlegroups.com
Olá Quinhone,

    Já executei o comando no mysql: SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y') AS MYDATE

Funciona certinho lá no mysql, mas como forma de consulta, tem como deixar setado para o mysql tratar definitivamente a data neste formato?

Atenciosamente,
Rafael Francisco Thibes

------------------------------------
Luis Carlos Quinhone escreveu:

Rafael Francisco Thibes

unread,
Jan 30, 2008, 5:00:38 AM1/30/08
to fle...@googlegroups.com
Elvis,

    Entendi, você tem esse código implentado?

Atenciosamente,
Rafael

----------------------

Elvis Fernandes escreveu:

Elvis Fernandes

unread,
Jan 30, 2008, 5:52:13 AM1/30/08
to fle...@googlegroups.com
Ter, eu até tenho, mas está na empresa. Estou em casa agora.

Mas aí vai um exemplo:

Convertendo do formato do banco para mostrar no Flex
Na minha opinião, a melhor forma é como o Quinhone mostrou. Eu tb faço dessa forma.

Cnvertendo do Flex para salvar no banco
$data = "01/01/2001 10:20:30";
$data = explode(" ", $data); // Separa a data da hora
$v = explode("/", $data); // Separa o dia, mês e ano
$data_banco = $v[2] . "-" . $v[1] . "-" . $v[0];

Espero que ajude.

Elvis

2008/1/30 Rafael Francisco Thibes <rafaelfran...@yahoo.com.br>:



--
Elvis Praxedes Fernandes
el...@sobramfa.com.br
Staff / IT Manager
SOBRAMFA - Sociedade Brasileira de Medicina de Família
http://www.sobramfa.com.br

Luis Carlos Quinhone

unread,
Jan 30, 2008, 9:21:15 AM1/30/08
to fle...@googlegroups.com
Cara, depois que aprendo com o Ved a trabalhar com data e hora no formato Unix, fiz até uma classe já pra isso, acabaram se os problemas, acho que vc deveria pensar nisso, se quiser dar uma olhada no Blog do Vedovelli tem um screencast sobre isso, vale a pena viu.
 
Att
Quinhone
 
 

Rafael Gomes Dantas

unread,
Jan 30, 2008, 6:42:57 PM1/30/08
to fle...@googlegroups.com
você pode usar (se for php):

$dataBanco = implode('-', array_reverse(explode('/', $dataFlex)));

e

$dataFlex = implode('/', array_reverse(explode('-', $dataFlex)));

Caso o campo não seja do tipo datetime...

Anyway, não tem como setar isso pra acontecer automático no banco de
dados... Ao menos não no Mysql, que eu saiba...

Uma alternativa (porca) é fazer o campo ser string e gravar/puxar os
dados já formatados... Mas acho que não vale a pena...

2008/1/30 Luis Carlos Quinhone <quin...@direciona.com.br>:

Rafael Gomes Dantas

unread,
Jan 30, 2008, 6:44:05 PM1/30/08
to fle...@googlegroups.com
Correção:
$dataFlex = implode('/', array_reverse(explode('-', $dataBanco)));

2008/1/30 Rafael Gomes Dantas <raf...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages