2015-08-13 77 views
0

我想寫一個代碼來改變當前的毫秒時間。所以,我顯示了當前的setTime,然後將我的自定義時間設置爲Date,setTime方法,但它並沒有改變。Android日期SetTime不工作?

mycode的:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    TextView txt1 = (TextView) findViewById(R.id.txt1); 
    TextView txt2 = (TextView) findViewById(R.id.txt2); 

    txt1.setTextSize(20); 

    txt1.setTextColor(Color.BLACK); 

    txt2.setTextSize(20); 

    txt2.setTextColor(Color.BLACK); 


    txt1.setText("Time 1 : "+new Date().getTime()); 

      new Date().setTime(65*1000); 

    txt2.setText("Time 2 : "+new Date().getTime()); 

} 

enter image description here

所以,這些都是上面的代碼,我的問題的屏幕截圖。在這種情況下,時間1 &時間2保持不變,但我認爲時間2應該變爲65毫秒,但我不知道該怎麼做?

請給我一些解決方案。

回答

1

每次你怎麼稱呼它,你創建的Date()一個新的實例時,試試這個:

Date d = new Date(); 

d.getTime(); 

d.setTime(someTime); 

d.getTime(); 

每次調用new Date()要創建一個新的實例與當前系統時間的時間。

+0

是正確的,這是每次創建新實例,所以請告訴我,我怎麼能手動更改System.currentTimeMillis的()值? – MyCode

+0

您無法顯式更改'System.currentTimeMillis()',這是隻能由他們的系統完成的事情。您唯一能做的就是爲用戶啓動一個設置活動來調整它。 'startActivity(new Intent(android.provider.Settings.ACTION_DATE_SETTINGS));'另外,感謝不接受我的答案,因爲我給了你指針,而不是爲你寫代碼。 –

1

你有這個問題的原因是因爲你沒有設置新的Date()。setTime(65 * 1000);到一個價值。

做到這一點:

Date temp = new Date(); 
txt1.setText("Time 1 : "+temp.getTime()); 

     temp.setTime(65*1000); 

txt2.setText("Time 2 : "+temp.getTime()); 
+0

正確,我也試過一樣,它解決了這個問題,謝謝你!真棒! – MyCode