Pessoal tem como ao clicar de um botão eu capturar a data em Java?
Date data = new Date(System.currentTimeMillis());
se quiser usar a Calendar , prq o metodos da date estão depreciated
Date d = new Date();
Calendar cal = new GregorianCalendar();
cal.setTime(d.getTime());
Valeu.
To tentando pegar a Data Atual no Java 5.0 com esse método:
[code]public Calendar getDataAtual(String formato){
Date date = new Date();
Calendar cal = new GregorianCalendar();
cal.setTime(date.getTime());
return cal;
}[/code]
mas ta dando pau no setTime Diz q tenho que usar o setTimeZone();
Oq é q está errado?
Tenta assim:
[code]
import java.util.Date
import java.text.SimpleDateFormat
Date data = new Date();
SimpleDateFormat formatador = new SimpleDateFormat(“dd/MM/yyyy”);[/code]
e aqui vc pega a data:
formatador.format( data );
[quote=Rafael Marques]Tenta assim:
[code]
import java.util.Date
import java.text.SimpleDateFormat
Date data = new Date();
SimpleDateFormat formatador = new SimpleDateFormat(“dd/MM/yyyy”);[/code]
e aqui vc pega a data:
formatador.format( data );
public Calendar getPegaDataAtual(){
Calendar calendar = new GregorianCalendar();
Date trialTime = new Date();
calendar.setTime(trialTime);
return calendar;
}
Assim ele tbm funfa, mas retorna um Calendar, mas eu preciso q retorne um date
[quote=Heero Yuy]To tentando pegar a Data Atual no Java 5.0 com esse método:
[code]public Calendar getDataAtual(String formato){
Date date = new Date();
Calendar cal = new GregorianCalendar();
cal.setTime(date.getTime());
return cal;
}[/code]
mas ta dando pau no setTime Diz q tenho que usar o setTimeZone();
Oq é q está errado?
[/quote]
Resolvi pra retornar Date.
public Date getPegaDataAtual() {
Calendar calendar = new GregorianCalendar();
Date date = new Date();
calendar.setTime(date);
return calendar.getTime();
}
O tópico é antigo, mas me ajudou…
Fiz algumas alterações e resumi com outros tópicos que eu encontrei aqui. Finalmente consegui formartar a data para salvar em um banco de dados [color=green]MySQL[/color].
primeiramente [color=blue]IMPORTAR [/color]os seguintes itens abaixo:
import java.sql.Date;
import java.text.SimpleDateFormat;
no desenvolvimento do código [color=blue]UTILIZAR[/color]:
Date data = new Date(System.currentTimeMillis());
SimpleDateFormat formatarDate = new SimpleDateFormat("yyyy-MM-dd");
System.out.print(formatarDate.format(data));
o sesultado fica como e [color=blue]EXEMPLO[/color] abaixo:
// 2008-12-31
[color=red]Obs:[/color] no formato (“yyyy-[color=red][size=18]MM[/size][/color]-dd”) a simbologia de Mês tem que ser em [color=darkred][size=18]Maiúsculo[/size][/color].
Allan_BSO,
Da forma como você passou aí… ficou fácil pra eu manipular a data de qualquer forma…
Bacana!
Vlw… abraço!
Tópico muito útil que me ajudou bastante. Obrigado aos que compartilharam as informações.
Todas estes exemplos estão corretos porém, no meu computador a data está para 23/06/2013 mas estas funções retornam 23/05/2013.
Se você preferir um código curto, tente:
//data
System.out.println(Calendar.getInstance().getTime());
//ano
System.out.println(Calendar.getInstance().get(Calendar.YEAR))
//mes
System.out.println(Calendar.getInstance().get(Calendar.MONTH));
Baseado nas informações que os amigos colocaram acima, montei um componente de data com validações para datas inválidas.
package componentes;
import funcoes.F_Date;
import funcoes.F_String;
import funcoes.Mascarar;
import funcoes.MsgAlerta;
import java.awt.Dimension;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.text.MaskFormatter;
public class TxtDataPadrao extends TxtMaskPadrao{
public TxtDataPadrao(){
try {
super.setMascara(new MaskFormatter("##/##/####"));
this.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
selectAll();
}
@Override
public void focusLost(FocusEvent e) {
if (getDate() == null){
setValue(null);
}
}
});
} catch (ParseException ex) {
MsgAlerta.alerta("Não foi possível carregar o componente de data!");
}
}
public void setDate(Date data){
if (data == null){
this.setText("");
}
else{
this.setText(F_Date.ToString(data));
}
}
public Date getDate(){
Date data;
if (F_String.Empty(Mascarar.RemoverMascara(this.getText()))){
data = null;
}
else{
Calendar calendario = Calendar.getInstance();
calendario.setTime(new Date());
String dia = F_String.Left(getText(), 2);
String mes = F_String.Substr(getText(), 3, 2);
String ano = F_String.Right(getText(), 4);
/*
* Monta a data conforme usuário digita valores
*/
if(!F_String.Empty(dia)){
dia = F_String.Lpad(dia.trim(), 2, "0");
}
else{
dia = ((Integer) calendario.get(Calendar.DAY_OF_MONTH)).toString();
}
if(!F_String.Empty(mes)){
mes = F_String.Lpad(mes.trim(), 2, "0");
}
else{
mes = ((Integer) (calendario.get(Calendar.MONTH) + 1)).toString();
}
if(F_String.Empty(ano)){
ano = ((Integer) calendario.get(Calendar.YEAR)).toString();
}
try {
data = new SimpleDateFormat("dd/MM/yyyy").parse(dia + "/" + mes + "/" + ano);
} catch (ParseException ex) {
data = null;
}
}
this.setDate(data);
return data;
}
}
VEJA ESTE TÓPICO, e por ali, tem uns códigos e até o txt de uma versão do programa.
Oi amigo.
Lembrei de uma solução que eu vi no youtube e postei aqui outro dia.
Oi amigo encontrei esse vídeo no youtube que acho que atende
para colocar em qualquer lugar também, inclusive em jframes, jpanels, jlabels e etc.
http://www.youtube.com/watch?v=8PWzqJFhCaQ
Testei aqui e rodou direitinho.
Segue o código que digitei pegando no youtube:
Fiz no NetBeans para ir mais rápido.
import java.util.Calendar;
import java.util.GregorianCalendar;
public class Frame extends javax.swing.JFrame {
/**
* Creates new form Frame
*/
public Frame() {
initComponents();
new Thread(){
@Override
public void run(){
for(;;){
dataEHora();
try{
sleep(1000);
}catch(InterruptedException ie){
ie.printStackTrace();
}
}
}
}.start();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
lData = new javax.swing.JLabel();
lHora = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
lData.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
lData.setForeground(new java.awt.Color(51, 51, 255));
lData.setText("jLabel1");
lHora.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
lHora.setForeground(new java.awt.Color(51, 51, 255));
lHora.setText("jLabel2");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(lData)
.addGap(18, 18, 18)
.addComponent(lHora)
.addContainerGap(220, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lData)
.addComponent(lHora))
.addContainerGap(260, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public void dataEHora(){
Calendar cal = new GregorianCalendar();
int dia = cal.get(Calendar.DAY_OF_MONTH);
int mes = cal.get(Calendar.MONTH);
int ano = cal.get(Calendar.YEAR);
int hora = cal.get(Calendar.HOUR);
int minuto = cal.get(Calendar.MINUTE);
int segundo = cal.get(Calendar.SECOND);
lData.setText("Data:"+dia+"/"+(mes+1)+"/"+ano);
lHora.setText("Hora:"+hora+":"+minuto+":"+segundo);
}
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Frame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Frame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JLabel lData;
private javax.swing.JLabel lHora;
// End of variables declaration
}
Use
e vc terá a data atual.