Jump to content
AJBM

Alterar Formato da data

Recommended Posts

AJBM

Boas!

Eu pretendo ter a data neste formato dd-mm-aaaa ou seja 14-07-2013, pois preciso de comparar datas, e a minha outra data esta neste formato.

Eu estou a fazer isto

var myDate = new Date();
myDate.toLocaleDateString()

mas o formato de data eu obtenho e 14/7/2013, queria saber se existe alguma forma de conseguir por a data no formato que quero.

Share this post


Link to post
Share on other sites
Rui Carlos

Podes facilmente criar uma função para fazer isso.

Por exemplo:

function format(date) {
 var day = date.getDate();
 if(day < 10) day = "0" + day;

 var month = date.getMonth();
 month++;
 if(month < 10) month = "0" + month;

 var year = date.getFullYear();

 return day+"-"+month+"-"+year;
}

Share this post


Link to post
Share on other sites
taviroquai

Também podes continuar a usar o. toLocaleDateString() e usar .split() para separar em dia, mes e ano, e depois concatenar com dia + mes + ano

Share this post


Link to post
Share on other sites
Rui Carlos

Também podes continuar a usar o. toLocaleDateString() e usar .split() para separar em dia, mes e ano, e depois concatenar com dia + mes + ano

Tentar aceder aos campos com hacks, quando tens uma API que te disponibiliza métodos para o efeito, parece-me bastante má ideia... Basicamente, está mesmo a pedir para que dê asneira.

Só para te dar um exemplo de problemas que podes ter, eu obtenho 7/15/2013 (browser em inglês), em vez de 15/7/2013 (isto pode ser facilmente resolvido especificando o locale, mas se há métodos para se obter a informação que queres directamente, parece-me que será sempre mais seguro).

Share this post


Link to post
Share on other sites
taviroquai

Tentar aceder aos campos com hacks, quando tens uma API que te disponibiliza métodos para o efeito, parece-me bastante má ideia... Basicamente, está mesmo a pedir para que dê asneira.

Só para te dar um exemplo de problemas que podes ter, eu obtenho 7/15/2013 (browser em inglês), em vez de 15/7/2013 (isto pode ser facilmente resolvido especificando o locale, mas se há métodos para se obter a informação que queres directamente, parece-me que será sempre mais seguro).

E quem disse que o user não quer o locale do browser? Defender uma solução em presupostos ainda me parece uma asneira maior a aplicar a qualquer problema... ;)

Share this post


Link to post
Share on other sites
Rui Carlos

E quem disse que o user não quer o locale do browser? Defender uma solução em presupostos ainda me parece uma asneira maior a aplicar a qualquer problema... ;)

Neste caso, o próprio utilizador indicou explicitamente o formato que pretendia (realces meus):

Eu pretendo ter a data neste formato dd-mm-aaaa ou seja 14-07-2013, pois preciso de comparar datas, e a minha outra data esta neste formato.

(Adicionalmente, tens outros cuidado a ter, como considerar os separadores de data usados nos diferentes locales).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.