Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在早期Android中显示当前一周的7个日期_Java_Android_Datetime - Fatal编程技术网

Java 在早期Android中显示当前一周的7个日期

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

我正在使用java的java.time包根据Android中的当前日期显示周日期。我要从星期天到星期六

但“时间包”是从API 26中添加的。因此,API 26以下的产品不支持此功能。所以,我需要一个替代解决方案。因此,我可以在API 26下运行


请为我提供另一种解决方案,根据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 ) ;
}