// 题目描述:制作一个函数,getDayNum( 年月日日期 ),可以返回指定日期是当前年的第几天
// 例: getDayNum( “2019-1-2”) 返回值为:2
/* var date = new Date(); // 当前的系统的时间和日期
console.log(date.getFullYear());// 年份
console.log(date.getMonth()); // 月份,从0开始
console.log(date.getDate()); // 当前天数
console.log(date.getHours()); // 小时,0-23
console.log(date.getMinutes()); // 分钟 , 0-59
console.log(date.getSeconds()); // 秒数 , 0-59
console.log(date.getMilliseconds()); //毫秒 0-999 1000毫秒=1秒
返回距 1970 年 1 月 1 日之间的毫秒数
date.getTime()
或者
+date 也可以获取距 1970 年 1 月 1 日之间的毫秒数
var date = new Date();
console.log(date.getDate());
1.传入不同的年月日时分秒
var d1 = new Date(2020,0,1,8,30,59); // 2020年1月1日 8:30:59
2.传入一个指定的字符串
var d2 = new Date('2020-01-01');
3.传入一个 大的数字 -- 从1970年1月1日开始到某个日期的总共的毫秒数
var d3 = new Date(1378594320999);
*/
/*
题目描述:制作一个函数,getDayNum( 年月日日期 ),可以返回指定日期是当前年的第几天
例: getDayNum( “2019-1-2”) 返回值为:2
*/
/*
var date1 = new Date('2021-01-09'); // 具体某一天 即 2021-01-09
//
console.log(date1); // Fri Jan 09 2021 08:00:00 GMT+0800 (中国标准时间)
var nowDay = date1.getTime(); // 这里得到的是, 具体时间 即2021-01-09 距离 1970 年 1 月 1 日 到今的毫秒数
console.log(old); //1970 年 1 月 1 日 到 2021-01-09
var nian = str.split("-")[0]; // 在最前面,输入的具体某一天是字符串,用 str 来表示它, 可以获取前面的年份, 获取年份 xxxx
nian += "-01-01"; // 然后把 年份和 "-01-01" 拼接成字符串 "2021-01-01"
var date2 = new Date( nian );// //
console.log(date2); // 当前时间
var oldDay = date2.getTime(); // 得到 nian 到 1970-01-01 的总毫秒数
// 1970年1-1到用输入的年月日 总毫秒数 - 1970年到 输入年的1月1日的总毫秒数
day = (nowDay - oldDay) / 1000 / 60 / 60 / 24 + 1; // 毫秒数之差 换算成 天数 一天 24 小时,一小时 3600秒
console.log("现在是当前年的第:" + day + "天");
*/
// 时间已经求出来了,怎么封装函数,需要传入参数
function getDayNum(str) {
var date1 = new Date(str); // 具体某一天
//console.log(date1.getDate());
var newDay = date1.getTime(); // 这里得到的是,输入的具体时间 距离 1970 年 1 月 1 日 的总毫秒数
//console.log(newDay);
// 把传入的字符串,切割开,取年份,拼接成 xxxx-01-01 输入的年份的1月1日
var nian = str.split("-")[0]; // 获取年份 xxxx
nian += "-01-01";
console.log(nian);
var date2 = new Date(nian);// 不写参数,默认是当前时间 这里应该是 输入时间的开年
console.log(date2);
var oldDay = date2.getTime(); // 1970年到用 前面 xxxx-01-01 的总毫秒数 前面年份的1月1日零时零分零秒
console.log(oldDay);
day = (newDay - oldDay) / 1000 / 60 / 60 / 24; // 毫秒数之差 换算成 天数 一天 24 小时,一小时 3600秒
// 天数用整数,取整
day = Math.ceil(Number(day))+1;
return str + "是当前年份的第:" + day + "天";
}
var str = prompt("请输入一个时间:格式为这样:1999-01-01")
//var nian = str.split("-")[0];
alert(getDayNum(str));