0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Java】雑日付取得

Last updated at Posted at 2019-05-13

抜粋……

System.currentTimeMillis#

エポックから経過した時間をミリ秒で返す(long型)。
処理に何秒かかったかを計算したい時などに。

Example.java
long start = System.currentTimeMillis();
// ここで何らかの時間のかかる処理
long end = System.currentTimeMillis();

System.out.println("処理にかかった時間は" + (end - start) + "msecです");

Date.getTime#

ちゃんと書くとjava.util.Dateクラス。
newすることで時刻のフィールド(long型)を持つインスタンスになる。

Example.java
// コンストラクタへの引数なしでインスタンス化
Date now = new Date();
System.out.println(now); // 現在時刻の表示

// これのlong値を取り出したいときはgetTime()メソッド
long lng = now.getTime();

// コンストラクタへの引数ありでインスタンス化
Date past = new Date(1316622225935L);
System.out.println(past); // 指定時刻の表示

toString()メソッドを使えば、読みづらいが文字列を取得できる。

Example.java
Date d = new Date();
String str = d.toString()
System.out.println(str);
// Thu May 09 23:31:59 JST 2019 こういう見た目で出てくる。

Calender クラスの諸々メソッド#

以下のフィールドを持つ。年月日時分秒のこと。すべてpublic static final int

  • YEAR
  • MONTH
  • DAY_OF_MONTH
  • HOUR
  • MINUTE
  • SECOND

そして以下のメソッドを持つ。

  • getInstance()
  • set():int型を6個渡すと、Calendarに時間をセットする。
  • get()Carendar.YEAR等を渡すと、Calendarにセットされているintを返す。
  • setTime:Date型を渡すと、Calendarに時間をセットする。戻り値はvoid。
  • getTime():セットされている時間をDate型で返す。
Example.java
import java.util.Calendar;
import java.util.Date;
public class Example{

    // 年月日時分秒を指定してDateインスタンスを生成する方法
    Calendar c = Calendar.getInstance();
    c.set(2019, 5, 13, 22, 37, 51); // 2019年5月13日22時37分51秒
    Date d = c.getTime();

    // set()メソッドはこういう書き方もできる。
    c.set(Calendar.YEAR, 2019);

    // Dateインスタンスから年月日時分秒を取得する方法
    Date d = new Date();
    Calendar c = Calendar.getInstance();
    c.setTime(d);

    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH);
    int day = c.get(Calendar.DAY_OF_MONTH);
    int hour = c.get(Calendar.HOUR);
    int minute = c.get(Calendar.MINUTE);
    int second = c.get(Calendar.SECOND);
}

この他にも大量にメンバを持っているから使い方はまぁいっぱい……

SimpledateFormatクラスの諸々メソッド#

書式文字列の形で日付を格納してくれる。

  • y:年
  • M:月
  • d:日
  • E:曜日
  • a/p:午前/午後
  • H:時(0〜23)
  • K:時(0〜12)
  • m:分
  • s:秒

yyyy/MM/dd HH:mm:ssといった形で記述すると、
2019/05/13 23:24:31といった形で返ってくる。

format()メソッドとparse()メソッドでDate型とString型をやり取りする。

Example.java
// Date型からString型の日付を取得
Date d = new Day();
SimmpleDateFormat f = new SimpleDateFormt("yyyy/MM/dd HH:mm:ss");
String s = f.format(d)

// String型からDate型を取得
Date d = f.format(2019/05/13 23:28:10); // 2019年5月13日23時28分10秒

参考書籍#

[スッキリわかるJava入門第二版]
(https://www.amazon.co.jp/%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%8F%E3%81%8B%E3%82%8BJava%E5%85%A5%E9%96%80-%E7%AC%AC2%E7%89%88-%E3%82%B9%E3%83%83%E3%82%AD%E3%83%AA%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E4%B8%AD%E5%B1%B1-%E6%B8%85%E5%96%AC/dp/484433638X)
Pp.532-540

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?