[英]How to show current date? Android app
我創建了一個Android應用,並且想要在屏幕上顯示當前日期。 我使用以下代碼:
Date date = new Date(0);
java.text.DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(getApplicationContext());
text.setText("Time: " + dateFormat.format(date));`
但是這段代碼顯示了日期“ 1.1.1970”。
如何顯示當前日期?
Date(0)
是1970年1月的第一個,請參見Date(long milliseconds)構造函數的文檔 :
公開日期 (以毫秒為單位)
使用指定的毫秒值初始化此Date實例。 該值是自格林尼治標准時間1970年1月1日以來的毫秒數。
要獲取當前日期,請使用Date()
,該構造函數不帶參數 :
公開日期 ()
將此Date實例初始化為當前時間。
采用
text.setText(new SimpleDateFormat("yyyy-MM-dd").format( Calendar.getInstance().getTime());
SimpleDateFormat dfDate = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
String date = dfDate.format(c.getTime());
System.out.println("Date is "+date);
結果將是=========> 2012-08-07
只需刪除0
,則替換為: Date date = new Date(0);
通過這樣: Date date = new Date();
根據Android文檔 :
使用指定的毫秒值初始化此Date實例。 該值是自格林尼治標准時間1970年1月1日以來的毫秒數。
由於您傳遞的值為0,所以它采用了上面的日期,並向其添加了0毫秒,因此您獲得1.1. 1.1.1970
日期的原因。
要在屏幕上顯示當前日期,請執行此操作。
String s = new SimpleDateFormat("dd-MM-YYYY").format(new Date());
現在在屏幕上顯示String 。
new Date()
就足夠了,否則,如果您調用new Date(0)
您將在01.01.1970 00:00:00之后0秒獲得日期
不要使用新的Date(0)。 該參數是自紀元以來的時間,即1.1.1970。 只需使用新的Date()。
確保導入“ java.util.Date;” 而不是“ java.sql.Date;” 否則您將無法通過任何參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.