Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Data e hora Java:SimpleDateFormat, data atual e comparação


Neste tutorial, você aprenderá –

Vamos primeiro entender os parâmetros que consistem em uma Data .



Ele conterá principalmente –


No que diz respeito aos sistemas informáticos, existem muitos parâmetros que podem ser utilizados para associar uma data. Vamos vê-los nas partes posteriores deste tópico.

Exibir data em Java


Agora vamos ver como Java nos fornece o Date. Primeiro, veremos como obter a data atual

Java fornece uma classe Date no pacote java.util. O pacote fornece vários métodos para brincar com a data.

Você pode usar o objeto Date invocando o construtor da classe Date da seguinte forma:
import java.util.Date;
class Date_Ex1 {
 public static void main(String args[]) {
  // Instantiate a Date object by invoking its constructor
  Date objDate = new Date();
  // Display the Date & Time using toString()
  System.out.println(objDate.toString());
 }
}

Saída:
Wed Nov 29 06:36:22 UTC 2017

No exemplo acima, a data mostrada no formato padrão, se quisermos mostrar a data e a hora em outro formato, primeiro entenda a formatação da data.

SimpleDateFormat:analisar e formatar datas


Vocês todos devem ter aprendido os alfabetos em seu jardim de infância….

Vamos agora aprender o ABC do formato de data.
Carta Componente de data ou hora Exemplos
G Designador de era AD
s Ano 2018
M Mês no ano julho ou julho ou 07
w Semana do ano 27
W Semana no mês 2
D Dia do ano 189
d Dia no mês 10
F Dia da semana no mês 2
E Nome do dia na semana Terça-feira ou Terça
u Número do dia da semana (1 =segunda-feira, …, 7 =domingo) 1
a Marcador am/pm PM
H Hora no dia (0-23) 0
k Hora no dia (1-24) 24
K Hora em am/pm (0-11) 0
h Hora em am/pm (1-12) 12
m Minuto em hora 30
s Segundo em minuto 55
S Milisegundo 978
z Fuso horário Horário Padrão do Pacífico; PST; GMT-08:00
Z Fuso horário -0800
X Fuso horário -08 ou -0800 ou -08:00

Não se preocupe, você não precisa se lembrar de tudo isso, eles podem ser encaminhados sempre que você precisar formatar uma data específica.

Como usar o SimpleDateFormat?


Java fornece uma classe chamada SimpleDateFormat que permite formatar e analisar datas conforme seus requisitos.

Você pode usar os caracteres acima para especificar o formato

Por exemplo:

1) Formato de data obrigatório:2012.10.23 20:20:45 PST

O formato de data apropriado especificado será- aaaa.MM.dd HH:mm:ss zzz

2) Formato de data obrigatório:09:30:00 23 de maio de 2012

O formato de data apropriado especificado será-hh:mm:ss a dd-MMM-aaaa

Dica: Cuidado com a letra maiúscula. Se você confundir M com m, você terá resultados indesejados!

Vamos aprender isso com um exemplo de código.
import java.text.SimpleDateFormat;
import java.util.Date;
class TestDates_Format {
 public static void main(String args[]) {
  Date objDate = new Date(); // Current System Date and time is assigned to objDate
  System.out.println(objDate);
  String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is Specified
  SimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format object
  System.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date
 }
}

Saída:
Wed Nov 29 06:31:41 UTC 2017
06:31:41 AM 29-Nov-2017

Exemplo de comparação de datas



O método mais útil de comparação de datas é usando o método – compareTo()

Vamos dar uma olhada no trecho de código abaixo-

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

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

  SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy");
  Date dt_1 = objSDF.parse("20-08-1981");
  Date dt_2 = objSDF.parse("12-10-2012");

  System.out.println("Date1 : " + objSDF.format(dt_1));
  System.out.println("Date2 : " + objSDF.format(dt_2));

  if (dt_1.compareTo(dt_2) > 0) {
   System.out.println("Date 1 occurs after Date 2");
  } // compareTo method returns the value greater than 0 if this Date is after the Date argument.
  else if (dt_1.compareTo(dt_2) < 0) {
   System.out.println("Date 1 occurs before Date 2");
  } // compareTo method returns the value less than 0 if this Date is before the Date argument;
  else if (dt_1.compareTo(dt_2) == 0) {
   System.out.println("Both are same dates");
  } // compareTo method returns the value 0 if the argument Date is equal to the second Date;
  else {
   System.out.println("You seem to be a time traveller !!");
  }
 }
}

Saída:
Date1 : 20-08-1981
Date2 : 12-10-2012
Date 1 occurs before Date 2

Java

  1. Cálculos de tensão e corrente
  2. Como obter data e hora atuais em Python?
  3. Python Obter hora atual
  4. Operadores Java
  5. Comentários Java
  6. Java para cada loop
  7. Java - Data e hora
  8. Data e hora do C++
  9. Java 10 - Versão com base no tempo
  10. Java 8 - Nova API de data/hora