1

TimeMillis

#Java
Jenifer Morais
Jenifer Morais

Estou no módulo "Desenvolvimento básico em Java" na aula "Classe Date".


Não sei como descobrir o timeInMillis da minha data de nascimento. O professor explica rapidamente um exemplo de como ocorre essa conversão mas não mostra no código em si, só mostra o long gerado e convertido em um objeto Date.


Alguém pode me ajudar?


(Foi pedido para que fizéssemos isso no final da aula, como exercício)


Obrigada a todas e todos.

3
29

Comentários (13)

1
R

Ronaldo Pereira

29/07/2021 11:24

Tente isso.


SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date aniversario = sdf.parse("29/07/1990");
System.out.println(aniversario.getTime());



1
W

Wesley Kadekaro

20/07/2021 12:27

Eu fiz assim:


import java.util.Calendar;
import static java.util.Calendar.*;

public class MetodoCalendar {

    public static void main(String[] args) {

        Calendar dataDeNiver = getInstance();
        dataDeNiver.set(1999, JUNE,30);

        Calendar compararData = getInstance();
        compararData.set(2010, MAY, 15);

        System.out.println(dataDeNiver.getTimeInMillis());
        System.out.println(compararData.getTimeInMillis());

        if (dataDeNiver.before(compararData)) {
            System.out.println("A sua data de aniversário é anterior a data de comparação!");
        }
        else {
            System.out.println("A sua data de aniversário é posterior a data de comparação!");
        }
    }
}


0
Tiago Santos

Tiago Santos

15/09/2021 13:43

Eu consegui resolver dessa forma Jenifer:


package cursobasicojava.dio.dates;


import java.util.Date;

public class ExercicioDate {
    public static void main(String[] args) {
        Long currentTimeInMillis = 676868400000L;
        Date birthDay = new Date(currentTimeInMillis);
        Date compareDate = new Date(1273892400000L);

        boolean isAfter = birthDay.after(compareDate);
        boolean isBefore = birthDay.before(compareDate);

        if(isAfter == true && isBefore == false){
            System.out.println("A sua data de nascimento em timeInMillis é maior que 15 de maio de 2010");
        }else if(isAfter == false && isBefore == true){
            System.out.println("A sua data de nascimento em timeInMillis é maior que 15 de maio de 2010");
        }
    }
}


0
Zezerino Mattos

Zezerino Mattos

07/09/2021 17:35

Eu achei essa maneira mais divertida de brincar

package testemsegundos;


import java.util.Calendar;

import java.util.Scanner;


import static java.util.Calendar.*;


public class Mlsegundo {


public static void main(String[] args) {

Scanner dataNasc = new Scanner(System.in);

int data [] = new int [3];

System.out.println("Qual o ano do seu nascimento: ");

data[0] = dataNasc.nextInt();

System.out.println("Qual o mês do seu nascimento: ");

data[1] = dataNasc.nextInt();

System.out.println("Qual o dia do seu nascimento: ");

data[2] = dataNasc.nextInt();

Calendar dataNas = getInstance();

dataNas.set(data[0], data[1], data[2]);

System.out.println(dataNas.getTimeInMillis());

Calendar dataParaComparar = getInstance();

dataParaComparar.set(2010, 05, 15);

System.out.println(dataParaComparar.getTimeInMillis());

boolean isBefore = dataParaComparar.before(dataNas);

if(isBefore) {

System.out.println("A data de NASCIMENTO é posterior a data usada para Comparação!");

}else {

System.out.println("A data de NASCIMENTO é anterior a data usada para Comparação!");

}

}

}

0
Wagner Silva

Wagner Silva

24/08/2021 20:18

Olá, tudo bem?


Eu cheguei na solução através desse código, veja se ajuda.


import java.time.Instant;
import java.util.Date;

public class ExercicioDataNascimento {

    public static void main (String[] args){


        long currentTimeMillis = 355668022000L; // Data do meu nascimento (site de busca: https://currentmillis.com/)

        Date dataNascimento = new Date(currentTimeMillis); // Converter em Date

        Instant instant = dataNascimento.toInstant(); //Usando o metodo Instant para uma melhor visualização da data
        System.out.println("A data do meu nascimento é " +instant);

        Date dataNoPassado = new Date(1273927222000L); // Data 15/05/2012 (site de busca: https://currentmillis.com/)

        /**  Comparando se a data do meu nascimento é anterior a 15/05/2010 */
        boolean isAfter = dataNascimento.after(dataNoPassado); //False
        boolean isBefore = dataNascimento.before(dataNoPassado); //true

        /** Comparando se a data do meu nascimento é anterior ou posterior a 15/05/2010 */
        if (isAfter == true){
            System.out.println("A data do meu nascimento é posterior a 15/05/2012");
        }else if(isBefore == true){
            System.out.println("A data do meu nascimento é anterior a 15/05/2012");
        }
    }
}



3
G

Gabriel

24/02/2021 19:21

Pelo que eu vi tem várias formas de você fazer isso, a primeira forma é com o 'Date' do java.util.Date; com ele você pode usar o '.after(Date)' ou '.before(Date)' para ver se a data é anterior a outra data, ou posterior... retorna um true ou false; para criar um Date você deve usar milissegundos, que é o tempo em milissegundos decorrido dês de 1 de janeiro de 1970, para conseguir os milissegundos correspondentes a sua data de nascimento você pode usar o site currentmillis.com; um exemplo de como poderia ser feito:

import java.util.Date;

public class calculaDate {
  public static void main(String[] args) {
     Date dataNasc = new Date(-2391800012000L);
     Date dataParaComparar = new Date(1273892400000L);

     if(dataNasc.before(dataParaComparar)) {
        System.out.println("A data de nascimento é anterior a data.");
     }
     if(dataNasc.after(dataParaComparar)) {
        System.out.println("A data de nascimento é posterior a data. ");
     }
  }
}

Essa é a forma mais antiga, por isso muitos dos métodos de Date estão marcados como Deprecated.

Outra forma seria com Calendar:

import java.util.Calendar;
public class calculaCalendar{
  public static void main(String[] args){
     Calendar dataNasc = Calendar.getInstance();
     dataNasc.set(Calendar.YEAR, 2003);
     dataNasc.set(Calendar.MONTH, 3);
     dataNasc.set(Calendar.DAY_OF_MONTH, 3);

     Calendar dataParaComparar = Calendar.getInstance();
        . . .
     if(dataNasc.after(dataParaComparar)){
        System.out.println("A data de nascimento é posterior a data.");
     }
     if(dataNasc.before(dataParaComparar)){
        System.out.println("A data de nascimento é anterior a data.");
     }

  }
}

Outra forma é com LocalDateTime:

import java.util.Date;
import java.time.LocalDateTime;
public class LocalDate {
  public static void main(String[] args) {
     LocalDateTime dataNasc = LocalDateTime.of(2010,5,15,10,00,00);
     LocalDateTime dataParaComparar = LocalDateTime.of(2000,5,10,10,10,10);

     if(dataNasc.isAfter(dataParaComparar)){
        System.out.println("A data de nascimento é posterior a data.");
     }
     if(dataNasc.isBefore(dataParaComparar)){
        System.out.println("A data é posterior a data.");
     }
     if(dataNasc.isAfter(dataParaComparar)){
        System.out.println("A data de nascimento é anterior a data.");
     }
  }
}

LocalDateTime.of(ano,mês,dia,hora,minuto,segundo).

0
Laís Souza

Laís Souza

20/08/2021 01:23

https://translate.google.com/translate?hl=pt-BR&sl=en&u=https://currentmillis.com/&prev=search&pto=aue


oii! tudo bom?

eu conseguir por esse site, talvez te ajude!!

0
Lucas Dias

Lucas Dias

12/08/2021 17:11

Consegui finalizar a atividade com o comentário do @Ronaldo Pereira, achei bem simples e pratica a conversão, grato por compartilhar o conhecimento.

Segue o código que consegui chegar, para poder ajudar próximas pessoas.

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class AtividadeDate {
    public static void main (String[] args) throws ParseException {

            //  Formatando texto em Data
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        Date dataNasc = sdf.parse("01/01/1990");
        Date dataInfor = sdf.parse("15/05/2010");

            //  Retorna a Data em Milissegundos
        Long dataMillis = dataNasc.getTime();

            //  Retorna o Milissegundos em Data
        Date dataNascRetor = new Date(dataMillis);

            //  Verificando se dataNasc é anterior a dataInfor
        boolean verificacao = dataNascRetor.before(dataInfor);

            //  Testando condição
        String condicao;
        if (verificacao == true){
            condicao = "anterior";
        }
        else {
            condicao = "posterior";
        }

            // Impressão na tela
        System.out.println("A Data de nascimento tranformado em Milissegundos é: " + dataMillis);
        System.out.println("A Data de nascimento é: " + sdf.format(dataNascRetor));
        System.out.println("A data de nascimento %s é %s a data %s".formatted
                (sdf.format(dataNascRetor), condicao, sdf.format(dataInfor)));
    }

}

2
Ewald Bitencourt

Ewald Bitencourt

01/07/2021 12:18

Olá pessoal,


Pelo que entendi, o professor pediu para descobrir o valor da data em milisegundos na internet, não era preciso implementar a conversão. Então eu utilizei a calculadora online para descobrir a data de nascimento em ms: https://codechi.com/dev-tools/date-to-millisecond-calculators/


Eis então o código que implementei:


package aulas.trabalhandoComDatas.javaDate;

import java.util.Date;

public class Exe1Date {
    public static void main(String[] args) {

        Date dataNascimento = new Date(262709183000L);
        System.out.println("Minha data de nascimento é: " + dataNascimento);

        Date novaData = new Date(1273934783000L);
        System.out.println("A Nova data é: " + novaData);

        boolean anterior = dataNascimento.before(novaData);
        boolean posterior = dataNascimento.after(novaData);
        if (anterior) {
            System.out.println("A data é anterior a 15 de maio de 2010!");
        }
        else if (posterior) {
              System.out.println("A data é posterior a 15 de maio de 2010");
          }
      }
  }





0
Reginaldo Araújo

Reginaldo Araújo

02/08/2021 15:23

Utilizei a idéia do nosso amigo @Wesley Kadekaro
package aulas.trabalhandoComDatas.javaDate;

import java.util.Calendar;
import static java.util.Calendar.*;

public class Exercicio {

    public static void main(String[] args) {
        Calendar dataNasc = getInstance();
        dataNasc.set(1984, 10,26);

        Calendar compararData = getInstance();
        compararData.set(2010, 05, 15);

        System.out.println(dataNasc.getTimeInMillis());
        System.out.println(compararData.getTimeInMillis());

        if (dataNasc.before(compararData)) {
            System.out.println("Data de nascimento é anterior a data de comparação!");
        }
        else {
            System.out.println("Data de nascimento é posterior a data de comparação!");
        }
    }
 }


Estudante de Sistemas de Informação

Brasil