FH-Hof Eine kleine Theorie der Zeit Richard Göbel
FH-Hof Darstellung von Zeitpunkten Kalender Jahre Monate Tage Stunden Minuten Sekunden Im Rechner: Sekunden und Bruchteile von Sekunden seit...
FH-Hof Klassen in Java TimeZone: Zeitzone Calendar GregorianCalendar Klassen zur Konvertierung von Sekunden seit :00 in Tage, Stunden, Minuten, etc. DateFormat Konvertierung eines Datums in eine externe Darstellung und umgekehrt Date: Datum und Zeitpunkt
FH-Hof Datum Date time1, time2; time1 = new Date(); time2 = new Date(); time1.setLong(...) // setzt die Zeit in Millisekunden nach // dem :00 time2.setLong(...) time1.after(time2) time2.equals(time2)
FH-Hof GregorianCalendar - Initialisieren Zeitzonen abfragen String[] ids = TimeZone.getAvailableIDs(); Kalender erzeugen TimeZone tz = TimeZone.getTimeZone("Europe/Berlin"); Calendar calendar = new GregorianCalendar(tz); Zeit in Millisekunden setzen calendar.setTime(time1);
FH-Hof GregorianCalender – Methoden set und get Beispiel für Methode "set" calendar.set(Calendar.YEAR, value); calendar.set(Calendar.MONTH, value); calendar.set(Calendar.HOUR, value); calendar.set(Calendar.MINUTE, value); Beispiel für Methode "get" calendar.get(Calendar.YEAR); calendar.get(Calendar.MONTH); calendar.get(Calendar.HOUR); calendar.get(Calendar.MINUTE);
FH-Hof Felder für GregorianCalendar ERA Default: AD YEAR Default: 1970 MONTH Default: JANUARY DAY_OF_MONTH Default: 1 DAY_OF_WEEK Default: the first day of week WEEK_OF_MONTH Default: 0 DAY_OF_WEEK_IN_MONTH Default: 1 AM_PM Default: AM HOUR, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND Default: 0
FH-Hof DateFormat Initialisieren DateFormat df = DateFormat.getDateInstance( ); Formatstil SHORT: or 3:30pm MEDIUM: Jan 12, 1952 LONG: January 12, 1952 or 3:30:32pm FULL: April 12, 1952 AD or 3:30:42pm PST. Formatieren und Parsen String s = df.format(time1); Date d = df.parse(s);
FH-Hof Verfügbarkeit von Ressourcen Verfügbarkeit mit Start- und Endzeiten (Zeitintervall) In der Regel Sequenz von Zeitintervallen Operationen: Schnittmenge: gemeinsame Verfügbarkeit Vereinigung: alternative Verfügbarkeit
FH-Hof Klassendefinition TimeInterval public class TimeInterval { private Date start; private Date end; public TimeInterval(Date s, Date e) {... } public boolean overlap(TimeInterval ti) {... } public TimeInterval intersect(TimeInterval ti) {... } }
FH-Hof Klassendefinition Availability public class Availability { private LinkedList intervals; public Availability() {... } public addInterval(TimeInterval ti) {... } public boolean overlap(Availability av) {... } public TimeInterval intersect(Availability av) {... } public TimeInterval union(Availability av) {... } }
FH-Hof Bitlisten für feste Zeitintervalle Mo Mo Mo Mo Mo Mo Sa Sa Logisches Oder:Alternative Verfügbarkeit Logisches Und: Gemeinsame Verfügbarkeit
FH-Hof Realisierung von Bitlisten in Java Datentyp: long mit 64 Bit, Operationen &, | Datentyp BigInteger mit Methoden: BigInteger setBit(int n) boolean testBit(int n) BigInteger clearBit(int n) BigInteger and(BigInteger val) BigInteger or(BigInteger val) Objekte werden bei jeder Operation kopiert!