如何修改现有代码,使用Calendar类获取日期、月份、年份及星期几?
代码修改方案
你可以直接调用Calendar类的对应常量获取年、月、日信息,修改后的代码如下:
import java.util.Calendar; ImageView imageView; Calendar cal = Calendar.getInstance(); cal.setTime(now_date); // 获取年、月、日信息 int year = cal.get(Calendar.YEAR); // 注意:Calendar.MONTH 取值范围为0-11,0对应1月,11对应12月,日常使用需+1 int month = cal.get(Calendar.MONTH) + 1; int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH); // 原有星期判断逻辑保持不变 imageView = (ImageView)findViewById(R.id.imageView); if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.MONDAY) { imageView.setImageResource(R.drawable.IMAGE1); } else if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.TUESDAY) { imageView.setImageResource(R.drawable.IMAGE2); }
补充说明:
- 如果你需要获取的是一年中的第几天,可使用
cal.get(Calendar.DAY_OF_YEAR)取值 - 如果是Android 8.0及以上系统,也可以用
java.time包下的LocalDateTime类替代Calendar,时间处理逻辑更直观,不存在月份偏移的问题
内容的提问来源于stack exchange,提问作者Sathish Guru
相关产品推荐
相关产品推荐

