首页 > 其他分享 >获取2个时间戳之间的日期

获取2个时间戳之间的日期

时间:2023-12-15 11:33:57浏览次数:29  
标签:2023.09 return String Long 获取 日期 indexPattern 之间 currentDate

获取2个时间戳之间的日期

    /**
     * 根据索引前缀、 from和 to生成需要查询的ES索引
     * 以查询 monitor索引为例:generateIndexStringFromRange("delta-monitor-", from, to)
     * 返回值示例: delta-monitor-2023.09.13,delta-monitor-2023.09.14
     */
    public static String generateIndexStringFromRange(String indexPattern, Long from, Long to){
        if (from == null || to == null) {
            throw new IllegalArgumentException("起始时间from或结束时间to不能为null");
        }

        return buildIndexStringFromDates(generateDateListFromEpochMilliRange(from, to), indexPattern);
    }

    public static String buildIndexStringFromDates(List<String> dateList, String indexPattern) {
        if (CollectionUtils.isEmpty(dateList)){
            return "";
        }

        StringBuilder indexRangeBuilder = new StringBuilder();

        for (String s : dateList) {
            indexRangeBuilder.append(indexPattern).append(s).append(",");
        }
        return indexRangeBuilder.deleteCharAt(indexRangeBuilder.length() - 1).toString();
    }

    /**
     * 返回值 ["2023.09.13", "2023.09.14"]
     */
    public static List<String> generateDateListFromEpochMilliRange(Long from, Long to) {
        List<String> dateDetails = new ArrayList<>();

        LocalDate startDate = Instant.ofEpochMilli(from).atZone(ZoneId.systemDefault()).toLocalDate();
        LocalDate endDate = Instant.ofEpochMilli(to).atZone(ZoneId.systemDefault()).toLocalDate();

        // 循环遍历日期并输出
        LocalDate currentDate = startDate;
        while (!currentDate.isAfter(endDate)) {
            dateDetails.add(currentDate.toString().replace("-", "."));
            currentDate = currentDate.plusDays(1);
        }

        return dateDetails;
    }

标签:2023.09,return,String,Long,获取,日期,indexPattern,之间,currentDate
From: https://www.cnblogs.com/PythonOrg/p/17903035.html

相关文章

  • window mysql 自动按日期备份Sql脚本
    一、背景这几天数据中了病毒,服务器被黑,Mysql数据库遭比特币勒索!!!数据库有开启binlog那就还有恢复的可能。那么恭喜你可以参考这篇文章https://zhuanlan.zhihu.com/p/311435595如果没有开启,那没办法了,只能吃一堑长一智,要么数据库做同步【做新增、修改,切记删除的不要同步】,要么数......
  • 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    联系:1.Linux的内核源代码和Linux的应用程序都可以自由获得,因此很多公司组织开发了属于自己的Linux发行版。2.基本上可以分为三大系类:Slackware、RedHat、Debian3.每个系列最具代表性的商业服务器级的发行版,分别是SUSELinuxEnterprise;RedHatEnterpriseLinux;UbuntuServ......
  • Flutter开发之安卓打包,和获取签名相关信息,公钥值相关操作
    我们Flutter开发中,难免有些小朋友因需求要获取打包签名的一些相关信息,下面我们来讲一下怎么获取一生成签名文件我们打包安卓APK包需要先生成签名文件,需运行以下指令,生成签名文件keytool-genkey-v-keystoreGMT\_keystore.keystore-aliasGMT\_keystore-keyalgRSA-keysi......
  • uni-app开发PDA获取内容不全
    问题:现在有一个问题是,Input在捕获pda输入内容时,会出现输入数据不全,文本内容被截断的情况。二维码内的数据稍稍多一点,就会出现输入内容不全,字符被截断的情况(这还是限于二维码内容只是非中文的情况)。如果二维码的内容包含中文的话,输入的数据差异就会更大。简直无法和原二维码码内的......
  • 【Quarkus】quarkus框架获取配置的几种方式
    翻源码可以发现读取接口org.eclipse.microprofile.config.spi.ConfigSourceProvider实现类//从环境变量中读取io.smallrye.config.DotEnvConfigSourceProvider//classpath中读取application.propertiesio.quarkus.runtime.configuration.ApplicationPropertiesConfi......
  • C# 两个日期比较大小
     一、直接比较大小stringed="2023-12-1309:27:59.000";//过去式DateTimenowDateTime=DateTime.Now;DateTimeexpirationDate=Convert.ToDateTime(ed);//质保期长日期DateTimeexpirationDate1=Convert.ToDateTime(Convert......
  • SpringBoot接收日期参数异常
    一、关于接收前端传递的日期参数的问题:前提:Date类型的属性上添加了以下注解:@JsonFormat(timezone="GMT+8",pattern="yyyy-MM-dd")@DateTimeFormat(pattern="yyyy-MM-dd")@JSONField(format="yyyy-MM-dd")1、java.sql.date:空字符串解析报错,正常日期格式字符串没问......
  • 通过正则表达式获取字符串中的省市区
    通过正则表达式获取字符串中的省市区//[^省]+省|.+自治区|[^澳门]+澳门|北京|重庆|上海|天津|台湾|[^香港]+香港|[^市]+市)越前面的优先级越高,会取优先级高的第一个匹配到的进行截取//^自治州]+自治州|[^特别行政区]+特别行政区|[^市]+市|.*?地区|.*?行政单位|.+盟|市辖区|[^县]+......
  • 微信小程序实时获取用户位置 onLocationChange
    首先在app.config.json中配置requiredBackgroundModes:['location'],requiredPrivateInfos:['getLocation','onLocationChange','startLocationUpdate',],permission:{'scope.userLocation':{desc:......
  • springboot+vue小白升级之路07-快速实现批量删除、小白升级之路08-实现批量导入导出ex
    我们接着之前的内容,全部代码我贴一下,大家参考使用。数据库droptableifexistsan_user;createtablean_user( idintnotnullauto_incrementprimarykeycomment'主键id', namevarchar(255)notnulluniquecomment'姓名', `password`varchar(255)notnullcomment......