15098
23.02.2007, aktualisiert am 18.10.2007
10770
7
0
JAVA Systemzeit
Systemzeit von Java immer "1970-01-01"
Hallo Zusammen,
habe ein Probelm mit meinem JAVA Programm.
Habe eine Methode erstellt:
public Date getdate()
{
Date date = new Date(0);
return date;
}
Der Returncode ist immer der "1970-01-01"
Wie kann ich meine aktuelle Systemzeit anzeigen lassen?
Vielen Dank
Grüße aus MUC
Hallo Zusammen,
habe ein Probelm mit meinem JAVA Programm.
Habe eine Methode erstellt:
public Date getdate()
{
Date date = new Date(0);
return date;
}
Der Returncode ist immer der "1970-01-01"
Wie kann ich meine aktuelle Systemzeit anzeigen lassen?
Vielen Dank
Grüße aus MUC
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 52458
Url: https://administrator.de/contentid/52458
Ausgedruckt am: 23.11.2024 um 07:11 Uhr
7 Kommentare
Neuester Kommentar
Da fällt mir jetzt nur noch RTFM ein.
Die Java Class Doku ist nämlich wirklich gut.
Aus der Doku:
public Date(long date)
Allocates a Date object and initializes it to represent the specified number of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT.
Parameters:
date - the milliseconds since January 1, 1970, 00:00:00 GMT.
Da Du immer 0 angibst, sind das 0 Millisekunden von 01.01.1970 ab. Es passiert also genau das was Du programmiert hast.
Aber:
public Date()
Allocates a Date object and initializes it so that it represents the time at which it was allocated, measured to the nearest millisecond.
Also mit Date date = new Date(); sollte es tun.
Die Java Class Doku ist nämlich wirklich gut.
Aus der Doku:
public Date(long date)
Allocates a Date object and initializes it to represent the specified number of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT.
Parameters:
date - the milliseconds since January 1, 1970, 00:00:00 GMT.
Da Du immer 0 angibst, sind das 0 Millisekunden von 01.01.1970 ab. Es passiert also genau das was Du programmiert hast.
Aber:
public Date()
Allocates a Date object and initializes it so that it represents the time at which it was allocated, measured to the nearest millisecond.
Also mit Date date = new Date(); sollte es tun.
Mein Java kennt den Date Konstruktor ohne Parameter:
Ergibt als Ausgabe:
Fri Feb 23 13:06:58 CET 2007
Mit import java.util.*; kann man unten auch einfach Date schreiben.
Importierts Du eventuell auch java.sql.* ? Da gibts auch ein Date und zwar eines, welches mindestens ein Parameter im Konstruktor erwartet. Dein Programm versucht also vermutlich ein java.sql.Date anstatt einem java.util.Date anzulegen.
public class TestTest {
public static void main(String args) {
java.util.Date date = new java.util.Date();
System.out.println(date.toString());
}
}
Fri Feb 23 13:06:58 CET 2007
Mit import java.util.*; kann man unten auch einfach Date schreiben.
Importierts Du eventuell auch java.sql.* ? Da gibts auch ein Date und zwar eines, welches mindestens ein Parameter im Konstruktor erwartet. Dein Programm versucht also vermutlich ein java.sql.Date anstatt einem java.util.Date anzulegen.
Hallo,
also laut javadoc besitzt Date einen parameterlosen Konstruktor... Jetzt muss ich sagen, mein letztes Java ist schon so lange her, dass ich nicht mehr weiss, ob es da war (peinlich, peinlich), aber bei irgendeiner Sprache muss man, wenn man den parameterlosen Konstruktor haben will die Klammern ganz weglassen. Probiere also doch mal "Date date = new Date;" Daneben würde ich einen anderen Namen für die Variable empfehlen.
Filipp
also laut javadoc besitzt Date einen parameterlosen Konstruktor... Jetzt muss ich sagen, mein letztes Java ist schon so lange her, dass ich nicht mehr weiss, ob es da war (peinlich, peinlich), aber bei irgendeiner Sprache muss man, wenn man den parameterlosen Konstruktor haben will die Klammern ganz weglassen. Probiere also doch mal "Date date = new Date;" Daneben würde ich einen anderen Namen für die Variable empfehlen.
Filipp
Hi,
ich bin mir nicht sicher, ob ich das Problem verstehe, oder ob es überhaupt eines gibt.
Also (ich spreche von neueren java runtimes - prüfen!):
import java.util.*;
.
.
.
Date xyz = new Date();
System.out.println(""+xyz); ""+ ist wichtig ... erzeugt einen Cast auf String
da println mit Date nichts anfangen kann
.
.
gibt immer die aktuelle Systemzeit aus!
Wenn man sie permanent aktuell anzeigen will, dann muss man einen Thread implementieren.
Schlagwort: myClas implements Runnable
public void run()
usw.
lg
ich bin mir nicht sicher, ob ich das Problem verstehe, oder ob es überhaupt eines gibt.
Also (ich spreche von neueren java runtimes - prüfen!):
import java.util.*;
.
.
.
Date xyz = new Date();
System.out.println(""+xyz); ""+ ist wichtig ... erzeugt einen Cast auf String
da println mit Date nichts anfangen kann
.
.
gibt immer die aktuelle Systemzeit aus!
Wenn man sie permanent aktuell anzeigen will, dann muss man einen Thread implementieren.
Schlagwort: myClas implements Runnable
public void run()
usw.
lg