Home
Über mich
Blog
Veröffentlichungen
IT-Trainings
Impressum


Zeitkalkulation in Java

Bis Java 7 gab es nur die DateTime-API auf der Basis der Klasse java.util.Date.

Date d = new Date();
System.out.println(d.toString());

Die Ausgabe sieht beispielsweise so aus:

Sat Aug 26 18:42:31 CEST 2017

Seit Java 8 steht die Klasse java.time.Instant zur Verfügung, die einen genauen Punkt auf der Zeitlinine im Nano-Bereich ausgibt. Auch sind einfache Zeitvergleiche möglich über i.isBefore, i.isAfter.

Instant i = Instant.now();
System.out.println(i);

egibt folgendes Ergebnis:

2017-08-26T16:49:11.337Z

Zudem sind einfache Zeitkalkulationen über i.minus oder i.plus realisierbar. Hier kommt entweder die Klasse Duration (arbeitet auf Basis von Millisekunden) ...

Duration dauer = Duration.ofDays(365);
System.out.println(i.plus(dauer));
2018-08-26T17:03:08.183Z

... oder die Klasse Period zum Einsatz:

Period p = Period.ofDays(365);
System.out.println(i.plus(p));
2018-08-26T17:03:08.183Z

fn:adjust-date-to-timezone

Die Funktion "fn:adjust-date-to-timezone" fügt einem xs:date noch die Zeitzone hinzu, die sich aus dem Kontext ergibt.

 <xsl:template match="/" name="xsl:initial-template">
  <root>
   <xsl:value-of 
     select="fn:adjust-date-to-timezone(xs:date('2017-10-03'))"/>
  </root>
 </xsl:template>
<root>2017-10-03+02:00</root>

Analog funktioniert das mit xs:dateTime ...

<xsl:value-of 
     select="fn:adjust-dateTime-to-timezone(
             xs:dateTime('2017-10-03T20:40:18'))"/>

... oder mit xs:time:

<xsl:value-of 
     select="fn:adjust-time-to-timezone(
             xs:time('20:40:18'))"/>

qrpic/Zeitfunktionen2.jpg

wg / 14. Oktober 2017




Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf (info10@wilfried-grupe.de).



Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

Mobil: 0151. 750 360 61 * eMail: info10@wilfried-grupe.de