2016-09-16 8 views
0

20160222082641ZWie diese Zeitstempel zu erzeugen, unter Verwendung von Java

Diese Art des Zeitstempels wird eine LDAP-Funktionalität protokollierte verwenden. Ich muss es in einem Java-Programm duplizieren.

Meine Teammitglieder können mir nicht sagen, wie sie das machen sollen oder mir wirklich irgendeine nützliche Hilfe geben. Wüsste jemand, wie man das in Java erzeugt? Dank

+0

, das ist ein formatiertes Datum ... –

+0

https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html –

+0

Es wäre hilfreich für Sie, diesen Zeitstempel in seine Komponenten zu parsen. Ich sehe die ersten vier Ziffern sind wahrscheinlich ein Jahr, aber danach wird unklar, was die Felder sind oder bedeuten. – markspace

Antwort

1

Verwendung Simple:

SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); 
format.setTimeZone(TimeZone.getTimeZone("UTC")); 

String ldapDate = format.format(Calendar.getInstance().getTime()) + "Z"; 

System.out.println(ldapDate); 
+0

Ich denke, sie wollen UTC Zeit (Z), nicht die Ortszeit. – PEF

+0

Dies ist leicht genug zu überwinden, die Antwort wurde geändert – slambeth

+0

'new Date()' ist viel prägnanter als mit einem Kalender, um das aktuelle Datum und die Uhrzeit zu erhalten. – VGR

0

mit Java 8 werden die folgenden Importe benötigt:

import java.time.LocalDateTime; 
import static java.time.ZoneOffset.UTC; 

mit Java 8, sollte der folgende Code funktioniert:

LocalDateTime now = LocalDateTime.now(UTC); 
    String timeString = now.toString(); 
    String strOut = timeString.substring(0,4) 
      + timeString.substring(5,7) + timeString.substring(8,10) 
      + timeString.substring(11,13) + timeString.substring(14,16) 
      + timeString.substring(17,19) + "Z"; 

    System.out.println(now); 
    System.out.println(strOut); 
Verwandte Themen