2017-04-16 63 views
1

首先讓我說是的,我已經研究了很多,並使用了各種解決方案,但沒有任何工作。Android - 獲取日期到textview

所以我想把昨天的日期變成一個textview。我使用此代碼:

Calendar cal = Calendar.getInstance(); 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MMMM/d"); 
String strDate = sdf.format(cal.getTime()); 
tvDate.setText(strDate); 

(我知道這將返回今天的日期,但在這一點上,我只是試圖讓任何東西)

會發生什麼事是有一次我從以前的活動,即可找到這一個它立即關閉。如果我在中間註釋3行並將setText註釋爲「bla bla」之類的隨機字符串,則該活動將運行並正確顯示它。 Android Studio沒有在那裏顯示任何錯誤,所以我不知道發生了什麼。

我已經嘗試了以下所有帖子中的所有解決方案,都未成功,所以我只能想象我缺少一些配置。 1 - Android get current date and show it in TextView 2 - Get current time and date on Android 3 - Display the current time and date in an Android application

我也查了一些YouTube視頻,但什麼都沒有答案。

你能幫忙嗎?

+0

我想這個問題是在你的'SimpleDateFormat' –

+0

你寫了一個'd',這是對的,因爲這可能是一天有兩個數字 –

+0

在Android監視器中,你應該有堆棧跟蹤來查看拋出了什麼異常。請張貼,或提供更多的信息,你有這個代碼的活動。 – Juan

回答

1

我測試了你的代碼,它適用於我,返回2017/April/16。確保您的類文件頂部的import語句正確無誤。他們應該是:

import java.text.SimpleDateFormat; 
import java.util.Calendar; 

要獲得昨天的日期,添加以下行:

cal.add(Calendar.DATE, -1); 
+0

就是這樣!我的導入是'import android.icu.text.SimpleDateFormat; 導入android.icu.util.Calendar;'是由Android Studio自動添加的 – ruiBarbs

0

請檢查下面的代碼

import java.util.Date; 
import java.util.Calendar; 

public class Main{ 

public static void main(String ar[]){ 
Calendar cal = Calendar.getInstance(); 

System.out.println("Today's date= "+cal.getTime()); 
//subtracting a day 
cal.add(Calendar.DATE, -1); 
System.out.println("Yesterday's date= "+cal.getTime()); 

} 

}