jintonico Posted November 29, 2007 at 12:26 PM Report Share #151128 Posted November 29, 2007 at 12:26 PM Bom dia: Tou aqui com o seguinte problema: tenho uma string que contem datas vindas da base de dados, mas estão no formato errado, logo e preciso muda-las. O meu problema e que estou a partir a string mas não consigo aceder individualmente ao conteudo da string... (ela comporta-te como um array, certo?) O que tenho feito é isto: pSeparador = datas.length/11 for (var i=0;i<pSeparador;i++){ pos=datas.indexOf("/"); teste = datas.substring(0,pos); alert(teste[1]); // alert(datas.substring(0,pos)); datas=datas.substring(pos+1,datas.length); } Mas quando faço um alert a posição 1 da string teste, devolve-me undefined... axo que me está a faltar qq coisa, mas n sei o q... ? Ja agora as minhas datas estão neste formato: 2007-11-15/2007-11-28/2007-11-29/2007-11-12/ e é necessario colocar cada uma delas no formato 11-11-2007 dentro de um array Tks in advance Link to comment Share on other sites More sharing options...
djthyrax Posted November 29, 2007 at 08:32 PM Report Share #151205 Posted November 29, 2007 at 08:32 PM Acho que estás aí a fazer código desnecessário. Como já não programo JavaScript há uns tempos, aqui fica uma possível solução em Python que podes facilmente adaptar para JavaScript: string = "2007-11-15/2007-11-28/2007-11-29/2007-11-12/" datas = [] tmp = string.split("/") for data in tmp: if data.strip() != '': #para excluir o espaço em branco derivado ao / ser o último elemento da string. dummy = data.split("-") datas.append("%s-%s-%s" % (dummy[2], dummy[1], dummy[0])) for data in datas: print data Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
NCS_One Posted November 29, 2007 at 10:14 PM Report Share #151253 Posted November 29, 2007 at 10:14 PM Ois Tenta isto : var MyDate = "2007-11-15/2007-11-28/2007-11-29/2007-11-12/"; var MyDates = MyDate.split("/"); var DatesLength = MyDates.length - 1; Como tens o "/" no fim da string ele em vez de te dar 4 datas vai dar mais uma em branco, mas basta dizeres k o length eh menos 1, isto se usares o "/" no fim da string se nao usares ele da as datas certas k sao 4. As datas ficam dentro de um aray, depois basta : var Date0 = MyDates[0]; var Date1 = MyDates[1]; ... Ou usares um FOR. Se a vida te voltar as costas aproveita e apalpa-lhe o cu. Link to comment Share on other sites More sharing options...
NCS_One Posted November 29, 2007 at 11:40 PM Report Share #151281 Posted November 29, 2007 at 11:40 PM Ois Nao tinha reparado k a data tb mudava. Usas o mm metodo : var CDate ; for (var aa=0;aa<DatesLength) //Se tiver o "/" no fim da data usas este se nao tiver basta usar este : MyDates.length { CDate = MyDates[aa].split("-"); MyDates[aa] = CDate[3] + "-" + CDate[2] + "-" + CDate[1]; } E assim fixas com as datas como queres dentro do array inicial MyDates. Se a vida te voltar as costas aproveita e apalpa-lhe o cu. Link to comment Share on other sites More sharing options...
jintonico Posted December 12, 2007 at 06:18 PM Author Report Share #153919 Posted December 12, 2007 at 06:18 PM Obrigado pela ajuda... 😕 Entretanto já tinha conseguido resolver o problema do seguinte modo: pSeparador = datas.length/11 var temp = new Array(); temp = datas.split('/'); var ano; var mes; var dia; for (i=0; i< pSeparador; i++) { ano = temp[i].substring(0,4); mes = temp[i].substring(5,7); dia = temp[i].substring(8,10); temp[i] = dia + "-" + mes + "-" + ano; } Actualização: Como e q eu ponho o meu código as cores? 😛 Link to comment Share on other sites More sharing options...
djthyrax Posted December 12, 2007 at 06:32 PM Report Share #153931 Posted December 12, 2007 at 06:32 PM Actualização: Como e q eu ponho o meu código as cores? 😕 [ code=javascript] para JavaScript, [ code=php] para PHP, etc. Quando postas, tens uma select list que tem lá as várias linguagens. 😛 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now