扫码关注官方订阅号
小伙看你根骨奇佳,潜力无限,来学PHP伐。
我找到的结合自己思考的结果
<!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。
提问前,先确定是:
自己无法独立解决,已经做过很多尝试
搜索引擎没有满意答案(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);
这还用问,自己算也不复杂呀,程序员的价值是在于解决问题,不是让别人给你解决问题。言归正传,给你个简单的思路,可能不是最简单的,没细想,别太较真。1,年份算是否是闰年,确认2月份的天数2,得到每个月的天数,可以放数组里3,根据月份得到当前月份的天数4,根据日期加3得到的天数就ok了。
程序员一定要多动脑!!!
要多动脑啊 逻辑对了就可以了 这个肯定没有伸手得
var now = new Date();//输入日期以今日为例 var NewYearsDay = new Date(now.getFullYear(), 0, 0, 0, 0, 0);//该年第一天 console.log((now.getTime()-NewYearsDay.getTime())/86400000>>>0)//算出两者的时间戳之差就是时间差的微秒数 再用时间差除以天的微秒数86400000 取整 就是第几天
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
我找到的结合自己思考的结果
以后会多百度,之前浪费谁时间了在此say-sorry
SegmentFault帮助中心:1. 提问时该注意的事项,什么样的问题才是受欢迎的
补充:
楼主提供了一种经典算法,适用于各种语言。
我再提供一种基于JavaScript Date对象的思路供参考:
将输入的时间作为终止时间,前一年的最后一天作为起始时间。两者做差,计算出间隔时间。
用moment.js
或
var d1 = new Date(“20161111”);
var d2 = new Date(d1.getFullyear());
var day = 3600000 * 24;
var res = parseInt((d1-d2)/day);
这还用问,自己算也不复杂呀,程序员的价值是在于解决问题,不是让别人给你解决问题。
言归正传,给你个简单的思路,可能不是最简单的,没细想,别太较真。
1,年份算是否是闰年,确认2月份的天数
2,得到每个月的天数,可以放数组里
3,根据月份得到当前月份的天数
4,根据日期加3得到的天数就ok了。
程序员一定要多动脑!!!
要多动脑啊 逻辑对了就可以了 这个肯定没有伸手得