如何从java中的特定日期获取前7个日期?我从当前日期获得7个日期,但我想从特定日期开始

如何从java中的特定日期获取前7个日期?我从当前日期获得7个日期,但我想从特定日期开始,第1张

概述//explainpublicclassDateLoop{staticStringfinalDate;staticStringparticularDate;publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubSimpleDateFormatsdf=newSimpleDateFormat("d-M-yyyy

//explainpublic class DateLoop {    static String finalDate;     static String particularDate;    public static voID main(String[] args) {        // Todo auto-generated method stub        SimpleDateFormat sdf = new SimpleDateFormat("d-M-yyyy ");        Calendar cal = Calendar.getInstance();        particularDate = "2-1-2018";        // get starting date        cal.add(Calendar.DAY_OF_YEAR, -7);        // loop adding one day in each iteration        for(int i = 0; i< 7; i++){            cal.add(Calendar.DAY_OF_YEAR, 1);            finalDate =sdf.format(cal.getTime());            System.out.println(finalDate);            //IE, its giving prevIoUs 7 dates from present date, but I want            //particular date... thanks in advance        }    }}

即,它从现在的日期开始提供前7个日期,但我想要特定日期之前的7个日期.

解决方法:

TL;博士

LocalDate.of( 2018 , Month.JANUARY , 23 )         .minusDays( … )

java.time

您正在使用现在遗留的麻烦的旧日期时间类,取而代之的是java.time类.

使用LocalDate仅限日期而不包含时间.

使用月枚举.

LocalDate start = LocalDate.of( 2018 , Month.JANUARY , 23 ) ;  // 2018-01-23.

使用月份编号,1月至12月为1-12.

LocalDate start = LocalDate.of( 2018 , 1 , 23 ) ;  // 2018-01-23.

收集一系列日期.

List<LocalDate> dates = new ArrayList<>( 7 ) ;for( int i = 1 ; i <= 7 ; i ++ ) {    LocalDate ld = start.minusDays( i ) ;  // Determine prevIoUs date.    dates.add( ld ) ;  // Add that date object to the List. }

对于早期的AndroID,请使用ThreeTen-Backport和ThreeTenABP项目.

总结

以上是内存溢出为你收集整理的如何从java中的特定日期获取前7个日期?我从当前日期获得7个日期,但我想从特定日期开始全部内容,希望文章能够帮你解决如何从java中的特定日期获取前7个日期?我从当前日期获得7个日期,但我想从特定日期开始所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1101622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存