我想做什么::
@H_301_2@显示消息基于
@H_301_2@早上好(12点〜12点)
>中午好(晚上12点至晚上4点)
>晚上好(晚上4点到晚上9点)
>晚安(晚上9点到早上6点) @H_301_2@码:: @H_301_2@我使用24小时格式来获得这个逻辑
>中午好(晚上12点至晚上4点)
>晚上好(晚上4点到晚上9点)
>晚安(晚上9点到早上6点) @H_301_2@码:: @H_301_2@我使用24小时格式来获得这个逻辑
private void getTimeFromAndroid() { Date dt = new Date(); int hours = dt.getHours(); int min = dt.getMinutes(); if(hours>=1 || hours<=12){ Toast.makeText(this,"Good Morning",Toast.LENGTH_SHORT).show(); }else if(hours>=12 || hours<=16){ Toast.makeText(this,"Good Afternoon",Toast.LENGTH_SHORT).show(); }else if(hours>=16 || hours<=21){ Toast.makeText(this,"Good Evening",Toast.LENGTH_SHORT).show(); }else if(hours>=21 || hours<=24){ Toast.makeText(this,"Good Night",Toast.LENGTH_SHORT).show(); } }@H_301_2@题: @H_301_2@这是最好的方法吗,如果没有哪个是最好的方法
解决方法
你应该这样做:
Calendar c = Calendar.getInstance(); int timeOfDay = c.get(Calendar.HOUR_OF_DAY); if(timeOfDay >= 0 && timeOfDay < 12){ Toast.makeText(this,Toast.LENGTH_SHORT).show(); }else if(timeOfDay >= 12 && timeOfDay < 16){ Toast.makeText(this,Toast.LENGTH_SHORT).show(); }else if(timeOfDay >= 16 && timeOfDay < 21){ Toast.makeText(this,Toast.LENGTH_SHORT).show(); }else if(timeOfDay >= 21 && timeOfDay < 24){ Toast.makeText(this,Toast.LENGTH_SHORT).show(); }