天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1239|回复: 5

[已解决] 请教计算当前日期是当年总计的日子总数

[复制链接]
网络菜菜 发表于 2024-12-13 17:23:36 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v5.1- sp XX
【浏览器类型】:Chrome/其他
【联系方式-QQ】:260217944
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:现在写的情况,月份是以文本方式储存,无法通过数字加减,不知可否转换成数值类加?

代码如下
(function(){
     var now = getToday();    //当前日期
     var nowDay = now.getDate();    //当前日
     var nowMonth = now.getMonth();    //当前月,月份显示0其实是指1月
     var nowYear = now.getYear();    //当前年
     nowYear += (nowYear < 2000) ? 1900 : 0;
     println("当前日期(含时间):------>"+now);
     println("当前日:------>"+nowDay);
     println("当前月:------>"+nowMonth);
     println("当前年:------>"+nowYear);
     var value = null;
     var curDate = getCurDate("yyyy-MM-dd");
     println("当前日期:------>"+curDate);
     var month_day = "31;28;31;30;31;30;31;31;30;31;30;31";
     var month_days = month_day.split(";");
     println("1月起,每月天数:------>"+month_days);
     var sum = 0;
     if((nowYear % 4 ==0 && nowYear % 100 != 0) || (nowYear % 400 == 0)){
             month_days[1] = 29;
     }
     for (var i = 0; i <= nowMonth; i++) {
             sum += month_days[i];
//             $PRINTER.println( "第" + month_days[i] + "次");
     }
     println("当前月份包含的天数:------>"+sum);   
})()

1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\\\\\\\"已解决可结帖\\\\\\\"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| 网络菜菜 发表于 2024-12-19 11:13:52 | 显示全部楼层
\\\\\\"已解决可结帖\\\\\\\"

谢谢工程师的指导,已解决,附上代码

     for (var i = 0; i < nowMonth; i++) {
             sum +=  parseInt(month_days[i]);
     }
     println("当前月份包含的天数:------>"+sum);
     sum += nowDay;
     println("当前总天数:------>"+sum);
})()
回复 支持 1 反对 0

使用道具 举报

yaya 发表于 2024-12-17 17:52:45 | 显示全部楼层
parseInt(month_days[i])将数字文本转换成整型试试
 楼主| 网络菜菜 发表于 2024-12-18 10:20:44 | 显示全部楼层
工程师,我加入了转换代码,但结果还是文本输出,不知是否我加入的位置不正确

     for (var i = 0; i <= nowMonth; i++) {
             parseInt(month_days[i]);    //将数字文本转换成整型试试
             sum += month_days[i];
     }
     println("当前月份包含的天数:------>"+sum);
     for (var j = 0; j <= 11; j++) {
             sum2 += j;
     }
     println("汇总11次后叠加总数:------>"+sum2)  
yaya 发表于 2024-12-18 15:30:37 | 显示全部楼层
网络菜菜 发表于 2024-12-18 10:20
工程师,我加入了转换代码,但结果还是文本输出,不知是否我加入的位置不正确

     for (var i = 0; i

sum += parseInt(month_days);  这样试试。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 05:51

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表