java獲取當前日期的前一天,前一月和前一年


核心:使用Calendar的add(int field, int amount)方法

復制代碼
Calendar ca = Calendar.getInstance();//得到一個Calendar的實例 
ca.setTime(new Date()); //設置時間為當前時間 
ca.add(Calendar.YEAR, -1); //年份減1 
Date lastMonth = ca.getTime(); //結果
//求前一月ca.add(Calendar.MONTH, -1),
//前一天ca.add(Calendar.DATE, -1)
復制代碼

同樣,類似的,求前一月ca.add(Calendar.MONTH, -1),前一天ca.add(Calendar.DATE, -1)

網上有人說月份這樣做是有問題的,比如當前時間是2009-12-31,你在月份上減1變成了2009-12-1”,我試了一下沒有出現這樣的問題,不過印象中好像確實有遇到過這樣的情況,代碼是怎么寫的已經記不清了

復制代碼
Calendar ca = Calendar.getInstance();//得到一個Calendar的實例 
ca.set(2009, 11, 31);//月份是從0開始的,所以11表示12月 
Date now = ca.getTime(); 
ca.add(Calendar.MONTH, -1); //月份減1 
Date lastMonth = ca.getTime(); //結果 
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); 
System.out.println(sf.format(now)); 
System.out.println(sf.format(lastMonth)); 
復制代碼

打印出來的結果是: 2009-12-31 
2009-11-30

android代碼如何調用系統日歷?

Intent intent = new Intent();   
intent.setComponent(newComponentName("com.android.calendar", "com.android.calendar.LaunchActivity")); startActivity(intent);
復制代碼
復制代碼
try {
    Intent i = new Intent();
    ComponentName cn = null;
    if (Integer.parseInt(Build.VERSION.SDK) >= 8) {
        cn = new ComponentName("com.android.calendar","com.android.calendar.LaunchActivity");
    } else {
      cn = new ComponentName("com.google.android.calendar","com.android.calendar.LaunchActivity");
    }
    i.setComponent(cn);
    startActivity(i);
 } catch (ActivityNotFoundException e) {
    // TODO: handle exception
    Log.e("ActivityNotFoundException", e.toString());
}    
復制代碼

我還想給它添加點擊事件,選擇一個日期,然后返回我的代碼.后來在網上找到一個自己寫的gridview的日歷形式,鏈接如下http://download.csdn.net/detail/onlyonecoder/6574379寫的很好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM