Algorithmen und Programmierung - Datum und Zeit ausgeben?

easyJAVA?

Mitglied
Hallo liebe JAVA-Experten,

wir sind Studenten des Wirtschaftsingenieurwesen und verzweifeln von Woche zu Woche an
unserem Lieblingsfach Algorithmen und Programmierung:lol:

Da wir unser Skript eigentlich direkt in die Tonne werfen können und die Internetrecherche i.d.R.
auch immer vergebens ist (warum machen die das so schwer?) hoffen wir von euch zu lernen
und Hilfestellung zu den Aufgaben zu bekommen, dass wir ein bisschen Licht in der großen Finsternis des Java-Programmierens bringen können :rtfm:

Wir programmieren in Eclipse (wobei Java=Java ist glaube ich) und die Aufgabenstellung ist wie folgt:

"Die Unixzeit ist eine einfache Zeitdefinition, die 1969 f¨ur das Betriebssystem Unix entwickelt
und als POSIX-Standard festgelegt wurde. Seit Unix Version 6 z¨ahlt die Unixzeit
die vergangenen Sekunden seit dem 1. Januar 1970 00:00 Uhr UTC (koordinierte Weltzeit/
heute g¨ultigeWeltzeit). Die Differenz der Mitteleurop¨aischen Zeit (MEZ) zurWeltzeit
UTC betr¨agt +1 Stunde. (Quelle: Unixzeit ? Wikipedia)

Wandeln Sie eine gegebene Weltzeit in das entsprechende MEZ-Datum und die zugeh¨orige
Uhrzeit um.
Dazu m¨ussen Sie die Sekunden derWeltzeit in Minuten, Stunden, Tage, Monate und Jahre
umrechnen und den Beginn der UTC ber¨ucksichtigen. Beachten Sie auch, dass die einzelnen
Monate eine unterschiedliche Anzahl von Tagen haben. Damit die Aufgabe nicht zu
kompliziert wird, sollen Schaltjahre nicht beachtet werden, d. h. der Februar hat immer
28 Tage.
Zur Umrechnung der Zeiteinheiten f¨uhren Sie folgende Arbeitsschritte aus:
(a) Entwerfen Sie zun¨achst ein Struktogramm.
(b) Implementieren Sie dann den Algorithmus in Java.
Weisen Sie der Variablen UTC (Weltzeit) zu Beginn Ihres Programmes folgende
Werte zu: UTC1 = 5 000 000 Sekunden und UTC2 = 1 322 000 000
Geben Sie Ihre Ergebnisse in folgender Form aus: tt.mm.jjjj - hh:mm:ss"


also was wir bisher versucht haben (Quelltext aus Eclipse):

public class Aufg1 {

/**
* @param args
*/
public static void main(String[] args) {

int sek=1;
int min=sek*60;
int std=sek*3600;
int tag=sek*86400;
int monat31=sek*2678400;
int monat30=sek*2592000;
int monat28=sek*2419200;
int jahr=sek*31536000;

int utc1=sek*5000000;
int utc2=sek*1322000000;
int h=sek*0;

Wir haben uns dabei gedacht, dass wir jede Einheit (Jahre,Monate etc) in Sekunden festhalten müssen... Aber the big Problem: Wie soll das ganze nachher als Datum ausgegeben werden??

Soweit sind wir bisher gekommen und weiter wissen wir jetzt auch nicht mehr..

Kann da jemand helfen? Wir danken vielmals für etwaige Hilfe...
 

Xeonkryptos

Bekanntes Mitglied
Java:
private final DateFormat timeFormat = new SimpleDateFormat(
			"EEEE, d. MMMM yyyy - HH:mm 'Uhr'");
timeFormat.format(time.getTimeCreated())

Die Variable time ist ein long-Wert, der die Millisekunden von der Beginn der Zählung, also dem 1. Januar 1970 00:00 Uhr bis zum jetzigen Tag anspricht. Man kann natürlich mit dem Wert variieren. Es ist egal welcher Wert! Damit wird es umgerechnet.
 

easyJAVA?

Mitglied
Hallo,

vielen Dank für die Hilfe, aber leider hat uns das nicht weitergebracht.
(haben das bei uns reinkopiert, aber kamen nur Fehlermeldungen??)

haben uns allerdings weitere Überlegungen gemacht und ich denke wir sind auf dem richtigen Weg.
Der Quelltext sieht nun wie folgt aus:

Java:
public class Aufg1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
	
		int sek=1;
		int min=sek*60;
		int std=sek*3600;
		int tag=sek*86400;
		int monat31=sek*2678400;
		int monat30=sek*2592000;
		int monat28=sek*2419200;
		int jahr=sek*31536000;
		
		int utc1=sek*5000000;
		int utc2=sek*1322000000;
		
		int a=utc1/jahr;
		int b=utc1%jahr;
		int newyear=1970+a;
		int c=b/monat31;
		int d=c%monat31;
		
		System.out.println(newyear);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
				
	
	}

}

das müsste doch so auch zu lösen sein? durch den Rest, den wir erhalten, teilen wir immer wieder die nächstkleinere Einheit, wobei wir ja jetzt bei den Monaten wieder auf ein Problem gestoßen sind,
da wir monate mit 31/30/28 Tagen haben..?

wie könnte man das lösen? dankeeee
 

easyJAVA?

Mitglied
Java:
public class Aufg1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
	
		int Sekunde = 1;
        int Minute = Sekunde*60;
        int Stunde = Sekunde*3600;
        int Tag = Sekunde*86400;
        int Monat28 = Sekunde*2419200;
        int Monat30 = Sekunde*2592000;
        int Monat31 = Sekunde*2678400;
        int Jahr = Sekunde*31536000;

        int UTC1 = Sekunde*5000000;
        int UTC2 = Sekunde*1322000000;

        int a = UTC1/Jahr;
        int b = UTC1%Jahr;
        int Jahrneu = 1970 + a;

        int [] monat = {2678400 , 2419200 , 2678400 , 2592000 , 2678400 , 2592000 , 2678400 , 2678400 , 2592000 , 2678400 , 2592000 , 2678400};
        //int c = b/Monat31;
            //if (c >= Monat30 || c>= Monat28) {c/Monat30 c%Monat30 c/Monat28 c%Monat28};
        //int d = b%Monat31;
        int m = 0;
        int c = b / monat[m];
        int d = b % monat[m];
        c++;

        int Monatnew = 0 + c;

        int e = d/Tag;
        int f = d%Tag;
        int Tagneu = 0 + e;

        int g = f/Stunde;
        int h = f%Stunde;
        int Stundeneu = 0 + g;

        int i = h/Minute;
        int j = h%Minute;
        int Minuteneu = 0 + i;

        int k = j/Sekunde;
        int l = j%Sekunde;
        int Sekundeneu = 0 + k;


        //System.out.println(a);
        //System.out.println(b);
        System.out.println(Jahrneu);
        //System.out.println(c);
        //System.out.println(d);
        System.out.println(Monatnew);
        System.out.println(Tagneu);
        System.out.println(Stundeneu);
        System.out.println(Minuteneu);
        System.out.println(Sekundeneu);

        private final DateFormat time Format= new SimpleDateFormat ("");
        timeFormat.format(time.getTimeCreated());

    }

}

so wir haben es jetzt geschafft, wir haben das gewünuschte Datum rausbekommen :applaus:

nur: Wie kriegen wir das mit dem Format hin??

@Xeonkryptos

kann das sein, das jetzt dein long da ins Spiel kommt?
Wenn ja, was haben wir bei uns im Quelltext falsch gemacht...? bzw. wie kommt das rein, weil wenn wir das so machen wie du, kommt da ne fehlermeldung..

Als Datum haben wir 26.02.1970 20:53:20 Uhr
 

easyJAVA?

Mitglied
Java:
public class Aufg1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
	
		int Sekunde = 1;
        int Minute = Sekunde*60;
        int Stunde = Sekunde*3600;
        int Tag = Sekunde*86400;
        int Monat28 = Sekunde*2419200;
        int Monat30 = Sekunde*2592000;
        int Monat31 = Sekunde*2678400;
        int Jahr = Sekunde*31536000;

 //für UTC1
        int UTC1 = Sekunde*5000000;
        int UTC2 = Sekunde*1322000000;

        int a = UTC1/Jahr;
        int b = UTC1%Jahr;
        int Jahrneu = 1970 + a;

        int [] monat = {2678400 , 2419200 , 2678400 , 2592000 , 2678400 , 2592000 , 2678400 , 2678400 , 2592000 , 2678400 , 2592000 , 2678400};
        
         
        int m = 0;
        int c = b / monat[m];
        int d = b % monat[m];
        c++;

        int Monatneu = 0 + c;

        int e = d/Tag;
        int f = d%Tag;
        int Tagneu = 0 + e;

        int g = f/Stunde;
        int h = f%Stunde;
        int Stundeneu = 0 + g +1 ; // +1 Umrechnung von UTC auf MEZ

        int i = h/Minute;
        int j = h%Minute;
        int Minuteneu = 0 + i;

        int k = j/Sekunde;
        int l = j%Sekunde;
        int Sekundeneu = 0 + k;

 // für UTC2
        
        
        int a2 = UTC2/Jahr;
        int b2 = UTC2%Jahr;
        int Jahrneu2 = 1970 + a2;

        int [] monat2 = {2678400 , 2419200 , 2678400 , 2592000 , 2678400 , 2592000 , 2678400 , 2678400 , 2592000 , 2678400 , 2592000 , 2678400};
        
         
        int m2 = 0;
        int c2 = b2 / monat[m2];
        int d2 = b2 % monat[m2];
        c2++;

        int Monatneu2 = 0 + c2;

        int e2 = d2/Tag;
        int f2 = d2%Tag;
        int Tagneu2 = 0 + e2;

        int g2 = f2/Stunde;
        int h2 = f2%Stunde;
        int Stundeneu2 = 0 + g2 +1 ; // +1 Umrechnung von UTC auf MEZ

        int i2 = h2/Minute;
        int j2 = h2%Minute;
        int Minuteneu2 = 0 + i2;

        int k2 = j2/Sekunde;
        int l2 = j2%Sekunde;
        int Sekundeneu2 = 0 + k2;


        System.out.println(Tagneu + "." + Monatneu + "." + Jahrneu + " - " +Stundeneu + ":" + Minuteneu + ":"+ Sekundeneu + " Uhr" + " für UTC1 nach MEZ" );
        System.out.println(Tagneu2 + "." + Monatneu2 + "." + Jahrneu2 + " - " +Stundeneu2 + ":" + Minuteneu2 + ":"+ Sekundeneu2 + " Uhr" + " für UTC2 nach MEZ" );	
	}

}

wir habens jetzt raus, das ist das Ergebnis und es ist richtig....
 

Xeonkryptos

Bekanntes Mitglied
ich hab immer von long gesprochen, weil long ein Datentyp ist, der Zahlen von bis zu 3 Trillionen oder so, speichern kann und für die Angabe des Datums besser geeignet ist, da man Einheiten im Millisekunden-Bereich hat und diese irgendwann den Speicherplatz des int-Datentyps überspringen würden. Dann funktioniert euer Ansatz nicht mehr, außer ihr schreibt alles auf long um.

Außerdem habt ihr meinen Ansatz auch nicht richtig übernommen! Es ist wohl selbstverständlich, dass es bei euch nicht so hinhauen konnte! Vergleicht mal euren Ansatz (euer Codebeispiel) mit meinem (Codebeispiel). Ihr merkt sofort, da hab ich etwas anderst gemacht. Auf der Basis, dass ihr anstelle eines long-Variablen auch eine int-Variable dort einsetzen könnt. "time" war bei mir der Datentyp, der die Millisekunden enthält.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Algorithmen Java Basics - Anfänger-Themen 1
Viktor A. Kaiser Rekursive Algorithmen Java Basics - Anfänger-Themen 9
K Algorithmen und Datenstrukturen Programmier Aufgabe Java Basics - Anfänger-Themen 10
D Algorithmen lernen Java Basics - Anfänger-Themen 45
H Übungsaufgabe algorithmen Java Basics - Anfänger-Themen 2
F Graphen-Algorithmen Java Basics - Anfänger-Themen 1
M Algorithmen und Datenstrukturen Java Basics - Anfänger-Themen 3
M Elementaren Algorithmen Java Basics - Anfänger-Themen 2
J Suche Tipps zum erstellen von Algorithmen Java Basics - Anfänger-Themen 5
S Algorithmen für Anfänger Java Basics - Anfänger-Themen 18
C Terminierung von imperativen Algorithmen Java Basics - Anfänger-Themen 13
B OOP Algorithmen und dann ? Java Basics - Anfänger-Themen 4
J Strategy: geht es immer um die Algorithmen? Java Basics - Anfänger-Themen 4
Spin Probleme mit Algorithmen Java Basics - Anfänger-Themen 8
W Algorithmen und Eigenschaften Java Basics - Anfänger-Themen 29
J Algorithmen verbessern Java Basics - Anfänger-Themen 11
B Zeitmessung von Algorithmen Java Basics - Anfänger-Themen 8
G Komplexe Algorithmen implementieren Java Basics - Anfänger-Themen 4
J Hilfe! Algorithmen --> ich schaff es nicht Java Basics - Anfänger-Themen 4
T Laufzeitanalyse von Algorithmen - Problem und Frage - Java Basics - Anfänger-Themen 1
B Datenstrukturen & Algorithmen => Iteratoren Java Basics - Anfänger-Themen 7
R Algorithmen entwickeln und in Java umsetzen Java Basics - Anfänger-Themen 3
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
F Automat-Programmierung Java Basics - Anfänger-Themen 30
N Lambdas, Methodenref, fkt Programmierung ? Java Basics - Anfänger-Themen 10
districon Dynamisch Programmierung/Backtracking/Memoization Java Basics - Anfänger-Themen 3
S Buchstaben Programmierung Bedeutung Java Basics - Anfänger-Themen 4
S Hilfe bei Programmierung einer Hotelabrechnung Java Basics - Anfänger-Themen 5
enjoykimii Strukturierte Programmierung Hilfe Java Basics - Anfänger-Themen 29
A Frage zur programmierung Java Basics - Anfänger-Themen 12
Nerdinfekt Programmieranfänger, Schwierigkeiten mit der Programmierung Java Basics - Anfänger-Themen 6
U Compiler-Fehler Programmierung einer Drehkugel Java Basics - Anfänger-Themen 8
L Programmierung mit Hash Java Basics - Anfänger-Themen 3
C Wie habt Ihr angefangen mit der Java Programmierung, ohne Programmiervorkenntnisse Java Basics - Anfänger-Themen 8
J Problem bei der Programmierung eines Tannenbaums Java Basics - Anfänger-Themen 9
S GUI-Programmierung Sudoku-Rätsel lösen Java Basics - Anfänger-Themen 1
B Fibonacci Zahlen dynamische Programmierung Java Basics - Anfänger-Themen 7
S Programmierung simulieren - aber wie?! Java Basics - Anfänger-Themen 3
H Java Programmierung Java Basics - Anfänger-Themen 3
W Problem bei Programmierung von Monte-Carlo-Integration Java Basics - Anfänger-Themen 12
D Guten Tag mache gerade eine Umschulung zum FiSi war leider jetzt 2 Wochen Krank und wir hatten Prozendurale Programmierung. Java Basics - Anfänger-Themen 3
P Rechnen mit Brüchen - objektorientierte Programmierung Java Basics - Anfänger-Themen 18
D Objektorientierte Programmierung Java Basics - Anfänger-Themen 13
F Attribute bei Objektorientierter Programmierung Java Basics - Anfänger-Themen 11
F Ich brauche Hilfe bei Objektorientierter Programmierung... Java Basics - Anfänger-Themen 19
F Problem beim entfernen von mehreren Listenelementen auf einmal (Programmierung des Spiels Arschloch) Java Basics - Anfänger-Themen 1
Q Objektorientierte Programmierung Java Basics - Anfänger-Themen 17
J Texte für Java Programmierung besser verstehen? Java Basics - Anfänger-Themen 2
C GUI Programmierung unter Windows mit Java womit? Java Basics - Anfänger-Themen 11
D Collections Aufgaben Java-Programmierung Überforderung Java Basics - Anfänger-Themen 36
A GUI Programmierung mit Textfield Java Basics - Anfänger-Themen 3
J Programmierung Quiz Spiel Java Basics - Anfänger-Themen 3
J Programmierung Quiz Spiel Java Basics - Anfänger-Themen 2
U Brauche Hilfe bei Programmierung einer Produktdatenbank App Java Basics - Anfänger-Themen 4
L Dynamische Programmierung Java Basics - Anfänger-Themen 0
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
A Methoden Habe ein Problem bei folgender Programmierung Java Basics - Anfänger-Themen 15
slejden Erste Schritte Frage zur OOP (objektorientierten Programmierung Java Basics - Anfänger-Themen 4
V Threads Nebenläufige Programmierung Java Basics - Anfänger-Themen 6
V Nebenläufige Programmierung Java Basics - Anfänger-Themen 5
Henri Paare Frage über Java Programmierung Java Basics - Anfänger-Themen 10
S Programmierung eines Geldwechselautomaten! Java Basics - Anfänger-Themen 2
R Einige Neulingsfragen (Wrapper, GUI-Programmierung) Java Basics - Anfänger-Themen 4
D JavaBeans und die visuelle Programmierung Java Basics - Anfänger-Themen 2
M Dringend Experten für Scala-Play basierte Programmierung!!!! Java Basics - Anfänger-Themen 0
Z Programmierung eines Stacks Java Basics - Anfänger-Themen 19
A Programmierung herangehensweise Java Basics - Anfänger-Themen 9
T Objektorientierte Programmierung - Kein Plan wieso das nicht funktioniert! Java Basics - Anfänger-Themen 6
G 3D-Spiele-Programmierung Java Basics - Anfänger-Themen 3
I Programmierung-Hausaufgabe: Hilfe benötigt Java Basics - Anfänger-Themen 8
R Kann jemand diese Java Programmierung machen? Versteh ich leider nicht Java Basics - Anfänger-Themen 17
T Nachhilfe JAVA Programmierung Java Basics - Anfänger-Themen 1
R Schaffe es nicht Random-Programmierung zu vollenden. Wo liegt der Fehler in diesem Code? Java Basics - Anfänger-Themen 13
N Socket-Programmierung Java Basics - Anfänger-Themen 4
kaoZ Android Programmierung / Erstellen einer neuen Instanz Java Basics - Anfänger-Themen 2
O OOP Input & Output in der GUI-Programmierung Java Basics - Anfänger-Themen 2
O Java Grafik-Programmierung? Java Basics - Anfänger-Themen 16
F Fehler bei Array und Index Programmierung Java Basics - Anfänger-Themen 18
K Objektorientierten Programmierung Java Basics - Anfänger-Themen 3
R Einstieg in Programmierung Java Basics - Anfänger-Themen 8
W Problem bei MineSweeper Programmierung Java Basics - Anfänger-Themen 10
N Objektorientierte Programmierung: Erben von 2 Klassen - wie ist korrekte Vorgehensweise? Java Basics - Anfänger-Themen 16
D Best Practise für Programmierung Java Basics - Anfänger-Themen 7
D Erste Schritte Einstieg in die Java Spiel Programmierung Java Basics - Anfänger-Themen 7
W objektorientierte Programmierung Java Basics - Anfänger-Themen 25
W objektorientierte Programmierung - String in andere Klasse übergeben Java Basics - Anfänger-Themen 13
Grejak OOP Einstieg in Objekt-Orientierte-Programmierung Java Basics - Anfänger-Themen 3
D Frage zu Bit Operatoren in der Programmierung Java Basics - Anfänger-Themen 9
U Geräte-Programmierung ? Java Basics - Anfänger-Themen 15
S 2 kurz Fragen zur Möglichkeit der Programmierung Java Basics - Anfänger-Themen 7
T Objektorientierte Programmierung, わからない です Java Basics - Anfänger-Themen 6
J Allgemeine Fragen zur Programmierung Java Basics - Anfänger-Themen 36
N Grafische Programmierung mit jeweils anderen Bildern bei versch. Ergebnissen Java Basics - Anfänger-Themen 9
S Objektorientierte Programmierung Java Basics - Anfänger-Themen 21
M Gui Programmierung Java Basics - Anfänger-Themen 21
J Spielevorschläge für Programmierung Java Basics - Anfänger-Themen 3
O Eisenbahn-Programmierung Java Basics - Anfänger-Themen 8
S Schlechte Programmierung Java Basics - Anfänger-Themen 5
O Probleme bei OO-Programmierung mit Vererbung Java Basics - Anfänger-Themen 18
M Programmierung kürzen??? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben