JS 获取某年某月有多少天

/**
 * 获取某年某月天数
 * @param {Date} date 年月 PS: 2022-03
 */
const getMonthDay = (date) => {
  let year = Number(date.slice(0, 4))
  let month = Number(date.slice(5, 7))
  let days = new Date(year, month, 0).getDate()
  return days
}

getMonthDay('2022-03') // 31

getMonthDay('2022-02-17 13:28:01') // 28
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我不是很了解JavaScript,但是可以提供一些帮助。可以使用JavaScript中的Date()函数来计算某年某月某日是这一的多少:var today = new Date(year, month, day);var start = new Date(year, 0, 0);var diff = today - start;var oneDay = 1000 * 60 * 60 * 24;var dayOfYear = Math.floor(diff / oneDay);console.log(dayOfYear); ### 回答2: 为了计算某年某月某日是这一的多少,你可以使用JavaScript的内置日期对象Date()。下面是一个实现的例子: ```javascript function calculateDays(year, month, day) { // 创建日期对象 var currentDate = new Date(year, month - 1, day); // 获取份和下一的第一 var currentYear = currentDate.getFullYear(); var nextYear = currentYear + 1; var nextYearFirstDay = new Date(nextYear, 0, 1); // 计算多少 var days = Math.floor((nextYearFirstDay - currentDate) / (1000 * 60 * 60 * 24)); return days; } // 示例调用 var year = 2022; var month = 4; var day = 15; var result = calculateDays(year, month, day); console.log(year + "/" + month + "/" + day + "是这一的第" + result + "。"); ``` 在这个例子中,我们首先创建了一个新的日期对象`currentDate`,并将、日传递给构造函数。注意,份是从0开始计数的,所以我们要将传入的份减1。然后,我们获取份和下一的第一的日期对象`nextYearFirstDay`。通过计算两个日期对象之间的毫秒数差值,除以每的毫秒数,我们可以得到`currentDate`是这一的第几。最后,我们返回这个天数值。 运行这段代码,输出结果为:"2022/4/15是这一的第105。" ### 回答3: 在JavaScript中,可以使用以下函数来计算某年某月某日是这一的多少: ```javascript function calculateDays(year, month, day) { // 创建一个新的日期对象 var date = new Date(year, month - 1, day); // 获取的最后一 var endDate = new Date(year, 11, 31); // 计算天数差 var days = Math.floor((endDate - date) / (24 * 60 * 60 * 1000)); // 返回天数差+1 return days + 1; } // 示例用法 var year = 2022; var month = 8; var day = 20; var result = calculateDays(year, month, day); console.log(result); // 输出:133 ``` 上面的代码中,首先创建一个新的日期对象,表示输入的、日。然后,获取的最后一,即1231日的日期对象。通过两个日期对象的差值除以每的毫秒数,可以得到天数差。最后将天数差加1,即为所求的结果。上述示例计算了2022820日是这一的第133
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值