2017-02-02 123 views
-2

我是新來的機器人,我想學習一些新東西。Android Textview隨着時間的變化而變化

我想在時間改變時更改我的textview。 例如,如果是中午12點到12點之間,那麼它應該表現出「早上好」,否則它應該顯示「晚上好」,我試圖

代碼如下..

SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss"); 
String formattedDate = df.format(c.getTime()); 

Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show(); 

if(formattedDate.equals("00:00:00")&&formattedDate.equals("12:00:00")){ 
    textView.setText("good morning"); 
}else{ 
    textView.setText("good Evening"); 
} 

的問題這段代碼是,如果你在上午12點或者下午12點打開這個應用程序,它會顯示文字「早上好」,如果不是,那麼它會顯示晚上好。 我想要的是文本應該顯示上午12點到12點早上好,對於其餘的時間,它應該顯示晚上好..

如果你能幫助那麼謝謝我N使.. :)

+1

參閱[檢查是否給定的時間處於兩個時間之間不管(http://stackoverflow.com/questions/17697908/check-if-a-given-time-lies-between-two-times-regardless-of-date) –

+0

可能有[Ho我可以確定一個日期是否在Java中的兩個日期?](http://stackoverflow.com/questions/883060/how-can-i-determine-if-a-date-is-between-two-dates- in-java) – akash93

+0

Akash93與所有尊重..根據我這個問題是關於時間不約會...我想改變我的textview根據時間..不按日期.. –

回答

0

檢查下面的代碼

public static String Convert24to12(String time) 
{ 
String convertedTime =""; 
try { 
    SimpleDateFormat displayFormat = new SimpleDateFormat("hh:mm a"); 
    SimpleDateFormat parseFormat = new SimpleDateFormat("HH:mm:ss"); 
    Date date = parseFormat.parse(time);   
    convertedTime=displayFormat.format(date); 
    System.out.println("convertedTime : "+convertedTime); 
} catch (final ParseException e) { 
    e.printStackTrace(); 
} 
return convertedTime; 
//Output will be 10:23 PM 
} 

在這裏你只需要檢查這個條件

if(Convert24to12(formattedDate).contains("AM")){ 
    textView.setText("good morning"); 
}else{ 
    textView.setText("good Evening"); 
} 
1
Calendar c = Calendar.getInstance(); 
    SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss a"); 
    String formattedDate = df.format(c.getTime()); 

    if (formattedDate.contains("AM")) { 
     textView.setText("Good Morning"); 
    } else { 
     textView.setText("Good Evening"); 
    } 
0
Calendar calendar = Calendar.getInstance(); 

SimpleDateFormat sdf = new SimpleDateFormat("HH"); 

int temp = Integer.parseInt(sdf.format(calendar.getTimeInMillis())); 

if(temp > 12) 
{ 
    System.out.println("Good Evening"); 
} 
else 
{ 
    System.out.println("Good Morning"); 
} 
相關問題