Java 在早期Android中显示当前一周的7个日期
我正在使用java的java.time包根据Android中的当前日期显示周日期。我要从星期天到星期六 但“时间包”是从API 26中添加的。因此,API 26以下的产品不支持此功能。所以,我需要一个替代解决方案。因此,我可以在API 26下运行Java 在早期Android中显示当前一周的7个日期,java,android,datetime,Java,Android,Datetime,我正在使用java的java.time包根据Android中的当前日期显示周日期。我要从星期天到星期六 但“时间包”是从API 26中添加的。因此,API 26以下的产品不支持此功能。所以,我需要一个替代解决方案。因此,我可以在API 26下运行 请为我提供另一种解决方案,根据Android中的当前日期显示周日期。这里有两个日历对象 Calendar calendarCurrent = Calendar.getInstance(); calendarCurrent.getTime(); // T
请为我提供另一种解决方案,根据Android中的当前日期显示周日期。这里有两个日历对象
Calendar calendarCurrent = Calendar.getInstance();
calendarCurrent.getTime(); // To get current date-time.
Calendar calendarWeek = Calendar.getInstance();
calendarWeek.add(Calendar.DAY_OF_MONTH, 7);
calendarWeek.getTime(); // To get after 7 day's date-time.
如果您想在日历视图中显示它,则可以如下设置maxDate
calendarView.setMinDate(calendarCurrent.getTimeInMillis());
calendarView.setMaxDate(calendarWeek.getTimeInMillis());
试试这样的
int NUM_DAYS = 7; // You can get as many dates as you want.
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.SUNDAY); // The first day you want dates from.
calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek());
for (int i=0; i < NUM_DAYS; i++){
Date date = calendar.getTime();
System.out.println(new SimpleDateFormat("EEEE dd/MM/yyyy").format(date));
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
int NUM_DAYS=7;//你想约会多少就约会多少。
日历=Calendar.getInstance();
calendar.setFirstDayOfWeek(calendar.SUNDAY);//你想要约会的第一天。
calendar.set(calendar.DAY\u OF_WEEK,calendar.getFirstDayOfWeek());
对于(int i=0;i
因此,API 26以下的产品不支持此功能
您可以在早期的Android中使用java.time功能。使用后端口
所以,我需要一个替代解决方案
不,你没有
保持代码不变。后端口承载几乎相同的API。因此,您只需要交换导入语句
三百一十个后场
大多数java.time功能都在项目中被向后移植到Java6和Java7
这个项目由同一个人Stephen Colebourne领导,他负责JSR 310规范、java.time实现和Joda time
三级ABP
ThreeTen Backport项目在ThreeTenABP项目中进一步适用于Android
代码
ZoneId z=ZoneId.systemDefault();//或“非洲/突尼斯”地区
LocalDate today=LocalDate.now(z);
LocalDate LocalDate=today.with(org.threeten.bp.temporal.TemporalAdjusters.previousorname(DayOfWeek.SUNDAY));
Listdates=newarraylist(7);
对于(int i=0;i<7;i++){
localDate=localDate.plusDays(i);
dates.add(localDate);
}
您想要过去7天的日期(如果今天是星期三,那么上周四到今天)还是本周日到下周六(即使今天是星期二)。周日到下周六的日期可能重复。ThreeTenABP是java的后端口。是时候使用更早的Android了(在API级别26之前)。将您的澄清发布为对问题的编辑,而不是评论。OP没有询问未来7天的日期。谢谢您的回答。我已经在我的应用程序中实现了你的代码,但是我在日期上遇到了一些冲突。请检查此链接:。
ZoneId z = ZoneId.systemDefault() ; // Or ZoneId.of( "Africa/Tunis" )
LocalDate today = LocalDate.now( z ) ;
LocalDate localDate = today.with( org.threeten.bp.temporal.TemporalAdjusters.previousOrSame( DayOfWeek.SUNDAY ) ) ;
List< LocalDate > dates = new ArrayList<>( 7 ) ;
for( int i = 0 ; i < 7 ; i ++ ) {
localDate = localDate.plusDays( i ) ;
dates.add( localDate ) ;
}