Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
AMB

é possível subtrair datas como string??

Recommended Posts

AMB

é o seguinte eu estou fazendo um código em que retirei a data do sistema e tenho a data de um ficheiro, esta data tem de ser trabalhada porque vem como 20090821 e o programa para onde a quero enviar só lê 21-08-2009.

o que queria agora era a idade do ficheiro.

o código é o seguinte:

if (chave.equals("PATIENT_BIRTH_DATE")) {  
                                                	                          dn = valor; 
                                                	                          char[] letras = dn.toCharArray(); 
                                                	                          char primeira = dn.charAt(0); 
                                                	                          char segunda = dn.charAt(1);
                                                	                          char terceira = dn.charAt(2);
                                                	                          char quarta = dn.charAt(3);
                                                	                          
                                                	                          char priseg = dn.charAt(4);
                                                	                          char segseg = dn.charAt(5);
                                                	                          
                                                	                          char priter = dn.charAt(6);
                                                	                          char segter = dn.charAt(7);
                                                	                          
                                                	                          ano = (""+primeira+""+segunda+""+terceira+""+quarta+"");
                                                	                          mes = (""+priseg+""+segseg+"");
                                                	                          dia = (""+priter+""+segter+"");
                                                	                          
                                                	                          fimdn = (""+dia+"-"+mes+"-"+ano+"");
                                                	                          
                                                	                          String dataConfig = "dd-MM-yyyy";
																		  SimpleDateFormat formatada = new SimpleDate Format (dataConfig);
																		  Date datahoje = new Date();
																		  String dataform = formatada.format(datahoje);

Obrigada

Share this post


Link to post
Share on other sites
Knitter

Não percebi bem o que queres fazer ou qual é o problema.

A única data que pode ser obtida, referente aos ficheiros, é a data da última modificação, através do método lastModified.

Para subtrair datas, podes tentar usar a classe GregorianCalendar, que te oferece alguns métodos úteis.

Share this post


Link to post
Share on other sites
AMB

Eu já tenho as duas datas, a da criação do ficheiro (fimdn) e a de hj (dataform). O que pretendia era subtrair a dataform - fimdn. Como se fosse obter a idade de uma pessoa.

Obrigada

Share this post


Link to post
Share on other sites
Knitter

A forma mais directa seria instanciar dois calendários, por exemplo dois GregorianCalendar, obter as datas em milissegundos e subtrair os valores.

EDIT: Apesar de simples, este método pode bater em problemas com datas que sejam afectadas pelas mudanças de hora de Verão, por isso explora os métodos da classe GregorianCalendar e da classe Calendar que podem ajudar neste caso.

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
Sign in to follow this  

×

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.