UnixTimeStampでデータを管理することが多いのだけれど
とある日の0時0分0秒を指定したい時に毎回しばらく調べてしまうのでメモする。
Javaの場合
Date now = new Date(); // 2019-09-08 07:28:36 Date year = DateUtils.truncate(now, Calendar.YEAR); // 2019-01-01 00:00:00 Date month = DateUtils.truncate(now, Calendar.MONTH); // 2019-09-01 00:00:00 Date day = DateUtils.truncate(now, Calendar.DAY_OF_MONTH); // 2019-09-08 00:00:00 long unixTime = day.getTime() / 1000; // 1567868400
Kotlinの場合
val cal = Calendar.getInstance() // 2019-09-08 07:28:36 val year = cal.get(Calendar.YEAR) // 2019 val month = cal.get(Calendar.MONTH) // 8 (0から始まるので8=9月) val date = cal.get(Calendar.DATE) // 8 cal.set(year, month, date,0,0,0) val unixTime = cal.timeInMillis // 1567868400653
ライブラリを使うともっと簡単にできるっぽい。