首页 > 其他分享 >日期类

日期类

时间:2024-09-22 16:34:10浏览次数:3  
标签:java monthDayS int Month 日期 put import

点击查看代码
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.time.Month;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test {


    @Data
    @Builder
    @AllArgsConstructor
    @NoArgsConstructor
    public static class Quarter {
        private Month monthS;
        private int monthDayS;
        private Month monthE;
        private int monthDayE;
    }

    public static void main(String[] args) {

        Map<Integer, Quarter> quarterIndex2QuarterDay = new HashMap<>() {{
            put(1, Quarter.builder().monthS(Month.JANUARY).monthDayS(1).monthE(Month.MARCH).monthDayE(31).build());
            put(2, Quarter.builder().monthS(Month.APRIL).monthDayS(1).monthE(Month.JUNE).monthDayE(30).build());
            put(3, Quarter.builder().monthS(Month.JULY).monthDayS(1).monthE(Month.SEPTEMBER).monthDayE(30).build());
            put(4, Quarter.builder().monthS(Month.OCTOBER).monthDayS(1).monthE(Month.DECEMBER).monthDayE(31).build());
        }};

        Map<Integer, List<Integer>> currentQuarterIndexMap = new HashMap<>() {{
            put(1, Arrays.asList(2, 3, 4, 1));
            put(2, Arrays.asList(3, 4, 1, 2));
            put(3, Arrays.asList(4, 1, 2, 3));
            put(4, Arrays.asList(1, 2, 3, 4));
        }};

        int currentQ = (int) Math.ceil(LocalDate.now().getMonthValue() / 3.0);
        int currentYear = LocalDate.now().getYear();
        List<Integer> qList = currentQuarterIndexMap.get(currentQ);
        for (Integer q : qList) {
            int year;
            if (q <= currentQ) {
                year = currentYear;
            } else {
                year = currentYear - 1;
            }

            Quarter quarter = quarterIndex2QuarterDay.get(q);
            System.err.println(LocalDate.of(year, quarter.getMonthS(), quarter.getMonthDayS()));
            System.err.println(LocalDate.of(year, quarter.getMonthE(), quarter.getMonthDayE()));

        }


    }

}

标签:java,monthDayS,int,Month,日期,put,import
From: https://www.cnblogs.com/SetariaViridis/p/18425490

相关文章

  • 处理日期和时区转换:为什么正确的 UTC 转换很重要
    在检索选定日期范围内的数据时,我们注意到我们的计算存在一定偏差。然而,当我们将日期减少一天时,数据完全匹配!嗯……我们的代码中处理日期的方式可能存在问题。也许时区处理不正确——是的,我是对的!在构建涉及来自不同时区的用户的应用程序时,正确处理日期可能很棘手。以utc存储日......
  • 在 JavaScript 中掌握日期
    今天的重点是理解和操作javascript中的日期。日期是许多应用程序的一个基本方面,javascript提供了一组强大的工具来处理它们。1.理解javascript日期javascript日期是从1970年1月1日开始计算的,这被称为unix纪元。自那时起,它们通常以毫秒表示。以下是创建和查看......
  • PHP获取指定日期n天前后的日期列表
    /***获取指定日期n天前后的日期列表*@paramstring$date日期*@paramint$day_num天数*@paramstring$cate类型*@paramstring$format格式*@returnarray*/functionget_date_ab_list(string$date,int$day_num,string$cate='b',string$form......
  • java 正则表达式 匹配日期格式的字符串
    这个正则表达式 ^\d{4}-\d{2}-\d{2}$ 用于匹配特定格式的字符串,具体来说,它匹配一个由四位数字、一个短横线(-)、接着是两位数字、再一个短横线、最后是两位数字组成的字符串。这种格式通常用于表示日期(年-月-日),但需要注意的是,它并不验证日期的有效性(比如,它不会检查月份是否超过12或......
  • 【程序员写的诗】《悔思践》日期:2017-05-20 作者:橙 附:AI豆包点评和解释
    悔思践《悔思践》日期:2017-05-20作者:橙问君心,愁几何。望空杯,颜现愁。苦衷苦,鸿志立。乐中乐,断践行。不践行,愁中悔。悔中望,年已高。鸿志行,行中思。苦中践,乐其行。行不晚,怕其断。老不悔,喜不尽。创作背景背景:感觉自己一事无成,有感而发------写于2017-05-20程......
  • Go to Learn Go之时间日期
    概述在上一节的内容中,我们介绍了Go的Gob,包括:Gob简介、Gob编码、Gob解码等。在本节中,我们将介绍Go的时间日期。Go语言提供了一套强大的时间日期处理库,使得处理时间和日期变得简单和高效。Go语言中处理日期和时间的常用方式是使用time包,这个包提供了许多用于日期和时间操作的功能,包括......
  • 【Python系列】理解 Python 中的时间和日期处理
    ......
  • Go Lang实现unix时间戳与日期格式互转
    /**golang几种post请求方式*参考:https://www.cnblogs.com/mafeng/p/7068837.html*/packagemainimport("fmt""io/ioutil""log""net/http""net/url""regexp""strings......
  • java时间搓转为日期
    publicstaticvoidmain(String[]args){//创建当前日期对象Datenow=newDate();//获取当前时间毫秒值,作为结束时间LongendTime=now.getTime();//获取当前时间的Calendar实例Calendarc......
  • MySQL常见日期时间函数总结
    一、获取日期时间函数CURDATE()函数—获取当前日期--CURDATE()返回返回当前日期,只包含年、月、日部分。selectCURDATE();selectCURRENT_DATE();--输出:2024-04-10NOW()函数—获取当前日期时间NOW()函数用于返回当前日期和时间,包含年、月、日、时、分、秒!selectNOW();--输出:20......