如何检索过去 90 天的星期五日期?

Posted

技术标签:

【中文标题】如何检索过去 90 天的星期五日期?【英文标题】:How to retrieve last 90 days friday dates? 【发布时间】:2016-12-03 18:07:45 【问题描述】:

我想在下拉列表中显示过去 90 天的所有周结束日期。

【问题讨论】:

c#/SQL/Jquery 中需要的输出? 你尝试了什么?? 阅读本文 (***.com/help/how-to-ask) 【参考方案1】:

只是给您一个想法(因为您标记了 JAVA),在 JAVA 中,这可以使用 Date API 来完成。对于测试,我只检查了 5 周,你可以一直到 90 周。请注意,这提供了一个想法,是否可以优化,可能是的

public static void main(String[] args) 
    try 
        LocalDateTime localDateTime = LocalDate.now().atStartOfDay();
        DayOfWeek dotw = localDateTime.getDayOfWeek();
        String dayOfTheWeek = dotw.name();

        for (int daysOfTheWeek = 1; daysOfTheWeek < 7; daysOfTheWeek++) 
            if (dayOfTheWeek.equals(DayOfWeek.FRIDAY.name())) 
                break;
             else 
                localDateTime = LocalDate.now().atStartOfDay().minusDays(daysOfTheWeek);
                dotw = localDateTime.getDayOfWeek();
                dayOfTheWeek = dotw.name();
            
        
        ArrayList<LocalDate> localDates = new ArrayList<LocalDate>();

        for (int weekCount = 0; weekCount < 5; weekCount++) 
            localDates.add(localDateTime.minusWeeks(weekCount).toLocalDate());
        
        System.out.println(localDates);

     catch (final Throwable t) 
        t.printStackTrace();
    

【讨论】:

仅供参考,您可以通过多种方式改进您的代码:不需要 LocalDateTime(一个 LocalDate 就足够了);使用时间调整器(例如:previousOrSame 无需循环即可获得前一个 FRIDAY)。例如:ideone.com/MRWBxj 感谢@assylias,通过那个 sn-p 学到了一两件事。谢谢阿金

以上是关于如何检索过去 90 天的星期五日期?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用窗口函数获取每个日期值的今天、过去 7 天、过去 30 天的指标?

如何返回过去 90 天内没有活动日期的记录?

如何使用Parse JS SDK查询过去7天的对象?

当前日期和过去 30 天的总值

SQL 检索特定日期时间的历史传感器值

过去 30 天的平均值,不包括当前记录(混合日期和基于行的条件)