用javascript输入某一年的第几天,输出这一天是几月几号。用for循环和函数

用图片上的格式来表达,应为是刚接触,所以只学了这种格式,下面为输入....年....月...日输出是这一年第..天。与题无关,只是格式... 用图片上的格式来表达,应为是刚接触,所以只学了这种格式,下面为输入....年....月...日输出是这一年第..天。与题无关,只是格式 展开
 我来答
136775565
推荐于2017-12-16 · TA获得超过1113个赞
知道小有建树答主
回答量:866
采纳率:88%
帮助的人:836万
展开全部
var year = prompt("年");
var day = prompt("天");
if(day > 0 && day < 366){
    var isrunnian = (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
    var rules = [31, isrunnian ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    var result = 0;
    for (var i = 0 ; i < rules.length ; i++) {
        if (result + rules[i] >= day) {
            console.log(year + "年" + (i + 1) + "月" + ( day - result) + "日");
            return;
        }
        result += rules[i];
    }
}

按你图上代码稍微改下即可 

我把变量result留着是为了便于你理解  也可以去掉直接在day上计算

for (var i = 0 ; i < rules.length ; i++) {
    if (rules[i] >= day) {
        console.log(year + "年" + (i + 1) + "月" + day + "日");
        return;
    }
    day -= rules[i];
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式