You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java如何拆分日期逐位求和并最终得到单个数字结果

实现方案

核心思路

  • 首先将用户选择的日期转为字符串格式,过滤掉所有非数字的分隔符(如/、-等),得到纯数字组成的字符串
  • 遍历纯数字字符串的每一位字符,转为整数后累加得到第一次求和结果
  • 对第一次求和结果计算数字根:循环拆分各位数字相加,直到得到1~9之间的单个数字

Java 代码实现

public class DateDigitCalc {
    public static void main(String[] args) {
        // 此处inputDate可直接替换为日历组件返回的日期字符串
        String inputDate = "4/7/1995";
        
        // 第一步:提取所有数字逐位求和
        int sum = 0;
        for (char c : inputDate.toCharArray()) {
            if (Character.isDigit(c)) {
                sum += c - '0';
            }
        }
        
        // 第二步:计算数字根得到单个数字结果,以下二选一即可
        // 写法1:循环拆分逻辑,可读性更强
        while (sum > 9) {
            int temp = 0;
            while (sum > 0) {
                temp += sum % 10;
                sum /= 10;
            }
            sum = temp;
        }

        // 写法2:数学公式简化,代码更简洁,和写法1效果完全一致
        // sum = (sum - 1) % 9 + 1;

        // 最终结果存在sum变量中,可直接供后续逻辑使用
        System.out.println("计算结果:" + sum);
    }
}

方案优势

  • 无需提前拆分日期的月、日、年字段,自动适配M/d/yyyy、MM/dd/yyyy、yyyy-MM-dd等多种常见日期格式
  • 无需用户逐位输入数字,全程自动处理日期字符串

内容的提问来源于stack exchange,提问作者user16250914

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 16:12:03