Javaの日付型はJava 7まではDate/Calendar/DateFormat
等のクラスが使われてきたが、Java 8からは新しくLocalDateTime/ZonedDateTime
などを使うことが推奨されています。
🎳 Dateクラス
まず、Java 7までメインで使われてきたDate
を簡単に紹介します。
日付に関するクラス
Java 7までで使われていた日付に関するクラスを紹介します。
クラス |
説明 |
Date |
日付を扱うクラス |
Calendar |
日付の操作、計算などを扱うクラス |
SimpleDateFormat |
日付書式を扱うクラス |
サンプルコード
Date
を使ったサンプルコードの紹介です。
import java.util.Date;
public class SampleDate { public static void main(String args[]){ Date date1 = new Date();
Date date2 = (Date) dt.clone();
System.out.println("date1を表示 : " + date1.toString()); System.out.println("date2を表示 : " + date2.toString());
boolean result; result = date2.after(date1); System.out.println("date2はdate1より後の日時か否か:" + result);
result = date2.before(date1); System.out.println("date2はdate1より前の日時か否か:" + result);
result = date2.equals(date1); System.out.println("date2はdate1と同じ日時か否か:" + result);
int compareResult = date1.compareTo(date2); System.out.println("date1とdate2の比較 : " + compareResult); } }
|
🐞 Java 8からのTime APIについて
Java 8で追加されたTime APIによって、データ保持と日付操作(年/月/日フィールドの取得/変更など)が1クラスでできるようになりました。時間はナノ秒まで格納できます。
日時に関するクラス
java.time
に追加されたクラスをいくつか紹介します。
クラス |
説明 |
LocalDateTime |
タイムゾーンのない日時。内部にLocalDate とLocalTime をもつ |
ZonedDateTime |
タイムゾーン付きの日時 |
OffsetDateTime |
オフセット付きの日付 |
DateTimeFormatter |
日付・時刻の文字列出力や解析を行います |
Instant |
エポック秒を表すlong値と1秒未満のナノ秒を表すint値をもつ。Date と相互変換できる |
サンプルコード
import java.util.Time;
public class SampleDate { public static void main(String args[]){ LocalDateTime dt1 = LocalDateTime.now();
LocalDateTime dt2 = LocalDateTime.of(2017, 5, 23, 20, 25, 00);
System.out.println(dt2.getYear()); System.out.println(dt2.getMonth()); System.out.println(dt2.getDayOfMonth()); System.out.println(dt2.getHour()); System.out.println(dt2.getMinute()); System.out.println(dt2.getSecond()); System.out.println(dt2.getNano()); System.out.println(dt2.get(ChronoField.YEAR));
LocalDateTime d = LocalDateTime.now() .plusMonths(1) .withDayOfMonth(1) .withHour(14) .truncatedTo(ChronoUnit.HOURS);
DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); System.out.println(dt2.format(f)); } }
|
🎉 参考リンク
🖥 VULTRおすすめ
「VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。
最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!