を使用してJava.util.Date
をString
に変換するにはどうすればよいですか
DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss")
取得したDateオブジェクトが渡されます
DateTime now = new DateTime(date);
Java 8)を使用している場合は、最初にJava.util.Date
を使用しないでください(制御できないライブラリからDate
オブジェクトを受け取った場合を除きます) )。
いずれの場合も、次を使用してDate
をJava.time.Instant
に変換できます。
Date date = ...;
Instant instant = date.toInstant();
タイムゾーン情報なしで日付と時刻のみに関心があるため(すべてがUTCであると想定しています)、そのインスタントをLocalDateTime
オブジェクトに変換できます。
LocalDateTime ldt = instant.atOffset(ZoneOffset.UTC).toLocalDateTime();
最後に、次の方法で印刷できます。
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
System.out.println(ldt.format(fmt));
または、事前定義されたフォーマッタ DateTimeFormatter.ISO_LOCAL_DATE_TIME
を使用します。
System.out.println(ldt.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
フォーマッタを提供しない場合、 ldt.toString
を呼び出すと、標準の ISO 8601 形式(ミリ秒を含む)で出力が得られることに注意してください。
DateTime dt = new DateTime(date);
DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss");
dt.toString(dtf)
フォーマッタクラスを使用できます。
final DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss")
.withZone(DateTimeZone.UTC);
System.out.println(DateTime.now().toString(formatter));
DateTimeFormatterOBJECT=DateTimeFormatter.ofPattern("DD/MMM/YYYY HH//MM/SS");
String MyDateAndTime= LocalDate.now().format(DateTimeFormatterOBJECT);
joda API:ergoを使用していると想定しているため、DateTimeFormatterはorg.joda.time.format.DateTimeFormatterから来ています。
String dateTime = "02-13-2017 18:20:30";
// Format for input
DateTimeFormatter dtf = DateTimeFormat.forPattern("MM-dd-yyyy HH:mm:ss");
// Parsing the date
DateTime jodatime = dtf.parseDateTime(dateTime);
System.out.println(jodatime );