/** * 功能: * 作者:熊浩毅 * 日期:2024/5/3 22:28 */ /** * 获取上个月的月初时间格式 * @returns {string} */ function getLastMonthStartDate() { var today = new Date(); var lastMonth = new Date(today.getFullYear(), today.getMonth() - 1, 1); var formattedDate = formatDate(lastMonth); return formattedDate; } /** * 获取这个月月初 * @returns {string} */ function getCurrentMonthStartDate() { var today = new Date(); var firstDayOfMonth = new Date(today.getFullYear(), today.getMonth(), 1); var formattedDate = formatDate(firstDayOfMonth); return formattedDate; } /** * 获取上个月月底 * @returns {string} */ function getLastMonthEndDate() { var today = new Date(); var lastMonth = new Date(today.getFullYear(), today.getMonth(), 0); var formattedDate = formatDate(lastMonth); return formattedDate; } /** * 获取去年年初 * @returns {string} */ function getLastYearStartDate() { var today = new Date(); var lastYear = new Date(today.getFullYear() - 1, 0, 1); var formattedDate = formatDate(lastYear); return formattedDate; } /** * 获取去年年底 * @returns {string} */ function getLastYearEndDate() { var today = new Date(); var lastYear = new Date(today.getFullYear() - 1, 11, 31); var formattedDate = formatDate(lastYear); return formattedDate; } /** * 获取当天日期 * @returns {string} */ function getCurrentDate() { var today = new Date(); var formattedDate = formatDate(today); return formattedDate; } /** * 获取前i个月前的月初日期 * @param i * @returns {string} */ function getPreviousMonthStartDate(i) { var today = new Date(); var currentYear = today.getFullYear(); var currentMonth = today.getMonth() + 1; // 月份从0开始,需要加1 var previousMonthYear = currentYear; var previousMonth = currentMonth - i; // 跨年处理 if (previousMonth <= 0) { previousMonth += 12; previousMonthYear -= 1; } // 计算前i个月前的月初 var firstDayOfPreviousMonth = new Date(previousMonthYear, previousMonth - 1, 1); var firstDayFormatted = formatDate(firstDayOfPreviousMonth); return firstDayFormatted; } /** * 获取前i个月前的月末日期 * @param i * @returns {string} */ function getPreviousMonthEndDate(i) { var today = new Date(); var currentYear = today.getFullYear(); var currentMonth = today.getMonth() + 1; // 月份从0开始,需要加1 var previousMonthYear = currentYear; var previousMonth = currentMonth - i; // 跨年处理 if (previousMonth <= 0) { previousMonth += 12; previousMonthYear -= 1; } // 计算前i个月前的月末 var lastDayOfPreviousMonth = new Date(previousMonthYear, previousMonth, 0); var lastDayFormatted = formatDate(lastDayOfPreviousMonth); return lastDayFormatted; } /** * 格式化日期为 yyyy-MM-dd * @param date * @returns {string} */ function formatDate(date) { var year = date.getFullYear(); var month = (date.getMonth() + 1).toString().padStart(2, '0'); var day = date.getDate().toString().padStart(2, '0'); return year + '-' + month + '-' + day; } export { getCurrentDate, getLastMonthStartDate, getLastMonthEndDate, getLastYearStartDate, getLastYearEndDate, getPreviousMonthStartDate,getPreviousMonthEndDate};