close
我們常見的APP都有倒數日,而想要自己做個APP來計算時間多久,例如跟女友在一起多久,經過一天的研究,終於完成了程式碼如下面,
1.這是在onCreat()呼叫取得天數
//....上面程式碼省略 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView)findViewById(R.id.textView2); tv.setText("我跟女友在一起時間:\n"+findTime()); }
解釋:
先取得id為textView2的元件,再利用方法setText( ),把字呈現在螢幕上面,我用findTime( )取得天數。
2.在findTime()回傳資料型態為long的天數
private long findTime(){ long temp = 0; try{ SimpleDateFormat sim = new SimpleDateFormat("yyyy/MM/dd");//定義日期時間格式,一定要進行ParseException的例外處理 Date f = sim.parse("2016/01/02"); long firstmeet = f.getTime();//取得時間的unix時間 Date now = new Date();//取得目前即時的時間 long nowtime = now.getTime();//取得時間的unix時間 temp = (nowtime-firstmeet)/(1000*60*60*24); }catch(ParseException e){ Toast.makeText(MainActivity.this,"Something is wrong", Toast.LENGTH_SHORT).show(); } return temp; }
解釋:
這邊要注意要要在類別裡面 import java.text.SimpleDateFormat; 而不是 import android.icu.text.SimpleDateFormat;因為後者必須要API24以上的SDK才能使用,所以通常都用前者,這裡也要注意("yyyy/mm/dd")參數用的String 型別的字串必須要小寫,不然就會閃退,再利用物件sim的parse方法,參數輸入我跟女友再一起的日期,格式要與上一行一樣,如此就可以把日期轉換成Date型別,在取得目前時間,再把兩個時間都轉換成unix時間就可以進行加減了,但是要注意減出來的是毫秒,必須要除以1000變成秒,再除以60變成分,再除以60變成時,再除以24變成日,最後一步再回傳天數temp變數,就大功造成!!
結果圖如下:
文章標籤
全站熱搜