查询持续10天的账单

本文展示了如何使用Java编程语言处理交易时间数据,包括将字符串转换为LocalDate对象,对日期进行排序,找出最长连续交易日,并在特定条件下查询最近的交易记录。
摘要由CSDN通过智能技术生成

String[] trades22 = {"2024-02-25 00:00:00", "2024-02-26 00:00:00", "2024-02-27 00:00:00",
"2024-02-28 00:00:00", "2024-02-29 00:00:00", "2024-03-01 00:00:00",
"2024-03-02 00:00:00", "2024-03-03 00:00:00", "2024-03-04 00:00:00",
"2024-02-09 00:00:00", "2024-02-12 00:00:00", "2024-02-02 00:00:00",
"2024-02-01 00:00:00", "2024-02-24 00:00:00", "2022-02-24 00:00:00", "2022-04-24 00:00:00", "2023-07-24 00:00:00"};

//先定义时间格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//String数组转localDate数组
LocalDate[] localDates=new LocalDate[trades22.length];
for (int i=0;i<localDates.length;i++){
localDates[i]= LocalDate.parse(trades22[i], formatter);
}
//排序
Arrays.sort(localDates);
//定义最大数
int max=0;
//当前长度
int ruutenLength=1;
LocalDate localDate = localDates[0];
for (int i=1;i<localDates.length;i++){
//localDates[i]比较前一天的明天
if (localDates[i].equals(localDates[i-1].plusDays(1))){
ruutenLength++;
}else {
ruutenLength=1;
}
if (ruutenLength>max){
max=ruutenLength;
localDate=localDates[i-max+1];
}
}

for (int i=0;i<max;i++){

//控制查询几单

if(i>=5){
System.out.println(localDate.plusDays(i));
}

}


}

/**
* 获取当前月的上月
* @return 返回短时间字符串格式yyyy-MM
*/
public static String getStringLastMonth() {
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, -1);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
return format.format(c.getTime());
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值