2016-09-16 12 views
0

20160222082641ZJavaを使用してこのタイムスタンプを生成する方法

この種のタイムスタンプは、一部のLDAP機能を使用して記録されます。私はそれをJavaプログラムで複製する必要があります。

私のチームメンバーは、これを行う方法を教えてくれないか、本当に役立つ助けを私に与えることができません。誰もがJavaでこれを生成する方法に精通しているだろうか?おかげ

+0

ですフォーマットされた日付... –

+0

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

+0

そのタイムスタンプをそのコンポーネントに解析すると便利です。私は、最初の4桁は1年と思われますが、その後はフィールドが何であるか、あるいは平均しているかは不明です。 – markspace

答えて

1

利用のSimpleDateFormat:Javaの8を使用して

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

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

System.out.println(ldapDate); 
+0

私は彼らがUTC時間(Z)を望んでいると思います。現地時間ではありません。 – PEF

+0

これは克服するのは簡単ですが、答えは変更されました – slambeth

+0

'new Date()'は現在の日付と時刻を取得するためにカレンダーを使用するよりはるかに簡潔です。 – VGR

0

、以下の輸入が必要とされます。Java 8を使用して

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

、次のコードは動作するはずです:

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); 
関連する問題