G
Guest
Gast
Hi,
ich würde gerne zu Übungszwecken ein Programm schreiben, welches Timestamps zu Daten und andersrum berechnet.
Der User hat einen Frame mit 6 Textfeldern (Timestamp, Tag, Monat, Jahr, Stunde, Minute). Wenn er irgentwo was eingibt soll der Rest berechnet werden.
Das ganze habe ich schon für den Timestamp hinbekommen. Das Programm spuckt also nun alles andere aus wenn man den Timestamp eingibt (bzw wenn man nichts eingibt den aktuellen Stamp).
Bei dem Rest haperts noch. Ich habe mir die API's und Bücher durchgelesen, finde jedoch nichts wo ich von String zu Date umwandeln kann. Wie mache ich das?
ich würde gerne zu Übungszwecken ein Programm schreiben, welches Timestamps zu Daten und andersrum berechnet.
Der User hat einen Frame mit 6 Textfeldern (Timestamp, Tag, Monat, Jahr, Stunde, Minute). Wenn er irgentwo was eingibt soll der Rest berechnet werden.
Das ganze habe ich schon für den Timestamp hinbekommen. Das Programm spuckt also nun alles andere aus wenn man den Timestamp eingibt (bzw wenn man nichts eingibt den aktuellen Stamp).
Bei dem Rest haperts noch. Ich habe mir die API's und Bücher durchgelesen, finde jedoch nichts wo ich von String zu Date umwandeln kann. Wie mache ich das?
Code:
package timestamp;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Main extends JFrame implements ActionListener {
private Date date = new Date();
private SimpleDateFormat format;
private JTextField timestampField, dayField, monthField, yearField, hourField, minuteField;
/**
* Method thats updates all components to date.
*/
private void updateComponents() {
timestampField.setText("" + ( date.getTime() / 1000l ));
format = new SimpleDateFormat("dd");
dayField.setText(format.format(date));
format = new SimpleDateFormat("MM");
monthField.setText(format.format(date));
format = new SimpleDateFormat("yyyy");
yearField.setText(format.format(date));
format = new SimpleDateFormat("kk");
hourField.setText(format.format(date));
format = new SimpleDateFormat("mm");
minuteField.setText(format.format(date));
}
/**
* ActionListener for timestampField
*/
public void actionPerformed(ActionEvent e) {
if( e.getSource() == timestampField ) {
timestampField.setText(timestampField.getText().trim());
if( timestampField.getText().equals("") ) timestampField.setText("" + (date.getTime() / 1000l) );
try {
date.setTime( Long.parseLong(timestampField.getText()) * 1000l );
updateComponents();
}
catch(Exception ex) {
JOptionPane.showMessageDialog(
this,
"enterValidValueFor",
"error",
JOptionPane.ERROR_MESSAGE);
}
}
}
/**
* Frame.
*/
public Main() {
super("Fenstertitel");
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel pane = new JPanel();
timestampField.addActionListener(this);
dayField.addActionListener(this);
monthField.addActionListener(this);
yearField.addActionListener(this);
hourField.addActionListener(this);
minuteField.addActionListener(this);
pane.add(timestampField);
pane.add(dayField);
pane.add(monthField);
pane.add(yearField);
pane.add(hourField);
pane.add(minuteField);
add(pane);
}
public static void main(String[] args) {
Main ausgabe = new Main();
ausgabe.setVisible(true);
}
}