根据输入的日期,计算是这一年的第几天。
保证年份为4位数且日期合法。
进阶:时间复杂度:,空间复杂度:
while(line = await readline()){ line = line.split(" "); var year = line[0]; line = line.join("-"); var day = (new Date(line).getTime() - new Date(year+"-01-01")) / 1000 /60/60/24 + 1; console.log(day) }
function func(line) { // 保证年份为4位数且日期合法 if(!/^\d{4}(\s\d{1,2}){2}$/.test(line)){ throw new Error('输入值错误'); } // 分别提取年月日 const [year, month, day] = line.split(" "); // 计算当天的毫秒数和当年第一天的毫秒数 const start = new Date(year, 0, 0).getTime(); const end = new Date(year, month - 1, day).getTime(); // 取差值,再将毫秒数转化为天数 console.log((end - start) / (1000 * 60 * 60 * 24)); } while ((line = readline())) { func(line); }