Eu to fazendo assim, vejam o que vc's acham da ideia

Acho mais simples usar um BIGINT para as datas gravar nele jogar um
timestamp...

no flex qdo eu vou enviar a data que o registro foi adicionado por
exemplo pego com new Date().getTime();

na hora de recuperar e mostrar num datagrid uso uns metodos que eu fiz
numa classe estatica pra formatar no  labelFunction da coluna do dg
ex:

labelFunction="DateUtil.mostraDataHora"

pra pegar de um DateField por exemplo fica assim:

<mx:DateField change="suaVariavel=DateUtil.pegaData(event)"/> ou da
pra fazer + bonitinho criando um handler e passando o event pro metodo
pegaData


minha "crassezinha", ta bem crua ainda, mas ta resolvendo:


package helpers
{
        import mx.controls.dataGridClasses.DataGridColumn;
        import mx.events.CalendarLayoutChangeEvent;

        public class DateUtil
        {

                public function DateUtil()
                {

                }

                public static function agora(sepData:String = "/", 
sepEntre:String =
" - ", sepHora:String = ":"):String
                {
                        var agora:Date = new Date();
                        var ano:int = agora.fullYear;
                        var mes:int = agora.month;
                        var dia:int = agora.date;
                        var horas:int = agora.hours;
                        var minutos:int = agora.minutes;
                        var segundos:int = agora.seconds;

                        var retorno:String = (dia < 10 ? "0"+dia : dia) + 
sepData;
                        retorno += (mes < 10 ? "0"+(mes+1) : (mes+1)) + sepData 
+ (ano <
10 ? "0"+ano : ano);
                        retorno += sepEntre + (horas < 10 ? "0"+horas : horas) 
+ sepHora;
                        retorno += (minutos < 10 ? "0"+minutos : minutos) + 
sepHora;
                        retorno += (segundos < 10 ? "0"+segundos : segundos);

                        return retorno;
                }


                public static function mostraData(data:Object,
column:DataGridColumn):String
                {
                        var timestamp:Number =  data[column.dataField];
                        if (timestamp != 0)
                        {
                                return mostraDH(timestamp, false, false, false);
                        }
                        else
                        {
                                return "";
                        }

                }


                public static function mostraDataHora(data:Object,
column:DataGridColumn):String
                {
                        if (data[column.dataField] != 0)
                        {

                                return mostraDH(data[column.dataField], true, 
false);
                        }
                        else
                        {
                                return "";
                        }

                }


                public static function mostraDH(timestamp:Number, hora:Boolean =
false, segundos:Boolean = false, diaSemana:Boolean = true):String
                {
                        if (timestamp > 0)
                        {
                        var data_dt:Date = new Date();

                                data_dt.setTime(timestamp);

                                var dias_arr:Array = new Array("Dom", "Seg", 
"Ter", "Qua", "Qui",
"Sex", "Sab");
                                var data_str:String = "";
                                if (diaSemana)
                                {
                                        data_str += dias_arr[data_dt.getDay()] 
+ ", ";
                                }
                                data_str += (data_dt.getDate() < 10 ? "0" + 
data_dt.getDate() :
data_dt.getDate()) + "/";
                                data_str += (data_dt.getMonth()+1) < 10 ? "0" + 
(data_dt.getMonth()
+1) : (data_dt.getMonth()+1);
                                data_str += "/" + 
String(data_dt.getFullYear()).slice(2,4);

                                if(hora)
                                {
                                        data_str += " - "+(data_dt.getHours() < 
10 ?
"0"+data_dt.getHours() : data_dt.getHours());
                                        data_str += ":"+(data_dt.getMinutes() < 
10 ?
"0"+data_dt.getMinutes() : data_dt.getMinutes());
                                        if (segundos)
                                        {
                                                data_str += 
":"+(data_dt.getSeconds() < 10 ?
"0"+data_dt.getSeconds() : data_dt.getSeconds());
                                        }
                                }
                        }
                        else
                        {
                                data_str = "";
                        }
                        return data_str;
                }


                public static function
pegaData(event:CalendarLayoutChangeEvent):String
                {
                        trace("Data: " + event.target.selectedDate);

                        if (event.target.selectedDate)
                        {
                                var data_dt:Date = event.target.selectedDate;
                                return data_dt.getTime().toString();
                        }
                        else
                        {
                                return "";
                        }
                }


                public static function segHMS(segundos:int):String
                {
                        var seconds:int = Math.floor(segundos%60);
                        var minutes:int = Math.floor((segundos/60)%60);
                        var hours:int = Math.floor((segundos/3600)%24);

                        var hms:String = (hours > 0 ? (hours < 10 ? "0"+hours : 
hours)
+":" : "") +
                                        (minutes < 10 ? "0"+minutes : minutes) 
+ ":"
                                        + (seconds < 10 ? "0"+seconds : 
seconds);

                        return hms;
                }
        }
}




On Feb 15, 10:46 am, "Diogo Vieira" <[EMAIL PROTECTED]> wrote:
> Ola Leandro,
>
> Deixa eu ver se entendi bem...
>
> Na horaUTC mostra o valor 11? E é este que vc está querendo certo?
> Mas esta mostrando por exemplo o valor 20 que é a hora normal certo?
>
> Então vc esta querendo que mostre o valor da hora UTC em vez da normal... é
> isso?
> Se for isso basta vc fazer sua variavel de data receber no atributo de hora
> normal o valor da hora UTC
>
> EX: supondo que sua hora esta vindo de um event.result
>
> var data:Date = new Date();
>
> Date = event.result;
> Date.hours = Date.hoursUTC;
>
> Veja se isso resolve e posta ae novamente!
> Abraço!
>
> Em 15/02/08, Rafael Francisco Thibes <[EMAIL PROTECTED]>
> escreveu:
>
>
>
> > Bom dia Leandro,
>
> >    Já foi discutido na lista, veja o tópico: Formatar Data - Flex + Mysql
>
> >http://groups.google.com/group/flexdev/browse_thread/thread/3c9d7a5f4...
> > Caso não resolva poste novamente.
>
> > um abraço,
> > Rafael
>
> > leandrorlemos escreveu:
> > > Bom dia, pessoal gostaria de saber como eu faço para obter um objeto
> > > date exatamente como eu gravei no banco de dados, seu eu gravei
> > > 15/02/2008 11:00, como eu faria para obter exatamente essa data, pois
> > > o Flex fica alterando ela, eu sei que tem o esquema do UTC e tal, mas
> > > se eu gravei 11 hs na tabelas eu quero que seja 11hs, alguem sabe como
> > > eu faço isso?
>
> > _______________________________________________________
> > Yahoo! Mail - Sempre a melhor opção para você!
> > Experimente já e veja as novidades.
> >http://br.yahoo.com/mailbeta/tudonovo/
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a