[Android] Calendar でイベントまでの日数計算

試験まであと何日とか、今年の残り日数などを知りたい場合には Calendar を使って計算できます。
 
TOKYO 2020 までの日数を計算すると、
 
calendar 01 - [Android] Calendar でイベントまでの日数計算

Android Studio 3.0.1
Android 8.1.0

 



Calendar

 
来年の12月24日まであと何日あるのかなど、結構面倒です。11月は30日しかないけど10月は31日で、あれうるう年って今年?など。
そういう時に便利なのがCalendarです。日数計算をしてくれますので。
 

 

getInstance()

 
CalendarにはクラスメソッドとしてgetInstance()があり、これを使ってインスタンスを取得します。 このメソッドは、カレンダフィールドが現在の日付と時刻で初期化されたCalendarオブジェクトを返してくれます。
 

 

日数計算のflow:

  1. Calendar に目標の日時を設定する
    • set(int year, int month, int date)
  2. その日時のミリ秒を取り出す
    • getTimeInMillis()
  3. 現在時刻をミリ秒で取り出す
  4. 差分の日数を計算

 
Calendar の set メソッドでの日時の設定は
4通りほどあります。
 

2番目の年、月、日 の設定を使います。尚、MONTHは1月が0となるので注意
Ref: Java Platform Standard Ed.6

 

サンプルコード

 
まとめたコードです

MainActivity.java

 
activity_main.xml

 
strings.xml

 
現在時刻は
Calendar calendar = Calendar.getInstance()
でも取れますが、ミリ秒で計算したいので
System.currentTimeMillis()
を使いました。

gregory カレンダーは考慮してありません
 
Reference:
Calendar | Android Developers

誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加




アプリ開発が上達するお勧め

アプリ開発を始めたけどわからないところがあり、誰かに聞きたいけど周りにはそんな人はいない…あるいは、会社で働いていて日中そんなに時間をとれないなど、オンラインのプログラミングスクールがいいでしょう、時間の制約がないところが一番の魅力です。

以下の3つはAndroidが学習できるオンラインスクールです。


TECH ACADEMY
Androidアプリコース



侍エンジニア塾
侍エンジニア塾 無料体験レッスン



CodeCamp
~約8,000名の受講生と80社以上の導入実績~
現役エンジニアのオンライン家庭教師CodeCamp





正直ネットや本では限界があります。直接(ネットで)誰か分かる人に聞いた方が早く解決して、上達も早いと思います。

尚、スクールがダメだと言う人がいますが、やる気があれば問題ありません。与えられるのを待っていてはいけないですね
欲しいものは取りに行くのです。


Google Pixel 3 XLグローバル版
SIMフリー 並行輸入品
6.3インチの大画面
背景をぼかすポートレートモード撮影

Anker PowerCore II Slim 10000
Power IQ 2.0搭載
iPhone & Android対応

シェアする

  • このエントリーをはてなブックマークに追加

フォローする