javascript - 用JS求:输入某年某月某日,问是全年的第几天?
伊谢尔伦
伊谢尔伦 2017-04-11 11:41:40
[JavaScript讨论组]

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(6)
大家讲道理

我找到的结合自己思考的结果

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>arguments</title>
</head>
<body>
<script type="text/javascript">
    //弹出年、月、日输入框,声明年鱼儿,并赋值
    var y =parseInt(prompt("请输入你的出生年份"));
    var m = parseInt(prompt("请输入你的出生月份"));
    var d =parseInt(prompt("请输入你的出生日期"));
    //月
    //求各月份数字之和
    var getMonth=new Array(31,28,31,30,31,30,31,31,30,31,30);
    var sum1=0,i;
    for(i=0;i<m-1;i++){
        sum1+=getMonth[i]
        }

    //年
    //判断年是否为闰年,是且大于2月份加一
        if(( y%400 ==0||(y % 4 == 0&& y%100 !=0))&& m > 2){
            sum=sum1 + d +1;
            document.write("该天为一年中的第"+sum+"天");
        }else{
            sum=sum1+d;
            document.write("该天为一年中的第"+sum+"天");
        }   
</script>
</body>
</html>

以后会多百度,之前浪费谁时间了在此say-sorry

迷茫

提问前,先确定是:

  • 自己无法独立解决,已经做过很多尝试

  • 搜索引擎没有满意答案(google 起码过四页)

  • 本站站内搜索不到满意答案

自己解决问题的独立性一定要培养出来,多做尝试以避免其他人在你的问题上可能浪费的时间,同时请不要轻易放弃 Google。

SegmentFault帮助中心:1. 提问时该注意的事项,什么样的问题才是受欢迎的


补充:

楼主提供了一种经典算法,适用于各种语言。
我再提供一种基于JavaScript Date对象的思路供参考:

将输入的时间作为终止时间,前一年的最后一天作为起始时间。两者做差,计算出间隔时间。

var endDate = new Date(y, m-1, d),
    startDate = new Date(y, 0, 0),
    days = (endDate - startDate) / 1000 / 60 / 60 / 24;

document.write("该天为一年中的第"+ days +"天");
伊谢尔伦

用moment.js

var d1 = new Date(“20161111”);
var d2 = new Date(d1.getFullyear());
var day = 3600000 * 24;
var res = parseInt((d1-d2)/day);

PHP中文网

这还用问,自己算也不复杂呀,程序员的价值是在于解决问题,不是让别人给你解决问题。
言归正传,给你个简单的思路,可能不是最简单的,没细想,别太较真。
1,年份算是否是闰年,确认2月份的天数
2,得到每个月的天数,可以放数组里
3,根据月份得到当前月份的天数
4,根据日期加3得到的天数就ok了。

程序员一定要多动脑!!!

PHP中文网

要多动脑啊 逻辑对了就可以了 这个肯定没有伸手得

高洛峰
var now = new Date();//输入日期以今日为例
var NewYearsDay = new Date(now.getFullYear(), 0, 0, 0, 0, 0);//该年第一天
console.log((now.getTime()-NewYearsDay.getTime())/86400000>>>0)//算出两者的时间戳之差就是时间差的微秒数  再用时间差除以天的微秒数86400000 取整 就是第几天
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号