我正在尝试获取从8:00 am到8:00 pm和8:00 pm到8:00 am的时间范围,我正在尝试获取在firebase的recyclerview中显示它的时间表。
这是我构建的代码。
Calendar c = Calendar.getInstance();
hour = c.get(Calendar.HOUR_OF_DAY);
min = c.get(Calendar.MINUTE);
sec = c.get(Calendar.SECOND);
int ds = c.get(Calendar.AM_PM);
if(ds==0)
AM_PM="am";
else
AM_PM="pm";
Toast.makeText(getActivity(), ""+hour+":"+min+AM_PM, Toast.LENGTH_SHORT).show();
if (hour >= 8 && AM_PM.matches("am") || hour >= 12 && AM_PM.matches("pm") || hour <= 7 && min <=59 && sec <=59 && AM_PM.matches("pm") ){
fill_with_data_shift1();
}else if (hour >= 20 && AM_PM.matches("pm") || hour >= 00 && AM_PM.matches("am")){
fill_with_data_shift2();
}
2条答案
按热度按时间yws3nbqq1#
使用现代java日期和时间api,这是很自然的:
因为获取本地时间是一个时区敏感的操作,所以要三思而后行
LocalTime.now()
. 如果要使用设备的时区设置,请通过ZoneId.systemDefault()
.对于android,您可以在threetenabp中获得现代api,请参阅以下问题:如何在android项目中使用threetenabp。
4xrmg8kj2#
基本上你的代码应该是:
分,秒和其他的都不重要。