JS题 给出1到365之间任意数字,算出是当年的几月几日

基础一点的 就最基础写法 JS题 给出1到365之间任意数字,算出是当年的几月几日

题主要的代码如下,有帮助麻烦点个采纳【本回答右上角】,谢谢~~


    var day = parseInt(prompt('请输入第几天'))-1;

    var d = new Date(new Date().getFullYear(),0,1);//当年第一天

    d.setDate(d.getDate() + day);
    alert(d.toLocaleDateString())


<script type="text/javascript">
        var dateArr = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
        var date = new Date();
        var day = date.getDate();
        var month = date.getMonth(); //getMonth()是从0开始
        var year = date.getFullYear();
        var result = 0;
        for (var i = 0; i < month; i++) {
            result += dateArr[i];
        }
        result += day;
        //判断是否闰年
        if (month > 1 && (year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
            result += 1;
        }
        alert("今天是" + year + "年的第" + result + "天");
    </script>

你要的是这种吧


let randomNumber = 60;//你的随机数
let monthDay = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
let nowYear = new Date().getFullYear();
if ((nowYear % 4 == 0 && nowYear % 100 != 0) || nowYear % 400 == 0) {
    monthDay[1] = 29;
}
let finalMonth = 0;
let finalDate = 0;
let sumDay = 0;
for(let i=0;i<monthDay.length;i++){
    sumDay += monthDay[i];
    if(sumDay>=randomNumber){
        finalMonth = i+1;
        finalDate = randomNumber-sumDay+monthDay[i];
        break;
    }
}
console.log(`是${finalMonth}月${finalDate}日`)