일반적인 프로젝트 개발 과정에서 JavaScript에서 시간을 처리해야 하는 상황이 자주 발생합니다. 유형은 2가지(1. 논리적 처리 2. 형식 변환 처리)뿐입니다. 물론 관련 기술 블로그에 관해서는 눈을 감고 정원에서 몇 개를 잡을 수 있지만, 내가 해야 할 일은: 운이 좋게도 그것들을 만날 수 있기 때문에 최선을 다해 분석해야 한다는 것입니다. 나에게 가장 적합한 것으로 변환하여 나만의 지식이 되는 동시에 도움이 필요한 학생들이 직면하는 사소한 문제를 해결하는 데 도움이 되기를 바랍니다.
시간 논리 처리
이 유형의 일반적인 요구 사항은 몇 달 후(전)의 오늘 날짜를 계산하는 것입니다.
/** *获取几个月前的输入日期 *{param:DateTime} date 输入日期(YYYY-MM-DD) *{param:number } monthNum 月数 */ GetPreMonthDay: function (date,monthNum) { var dateArr = date.split('-'); var year = dateArr[0]; //获取当前日期的年份 var month = dateArr[1]; //获取当前日期的月份 var day = dateArr[2]; //获取当前日期的日 var days = new Date(year, month, 0); days = days.getDate(); //获取当前日期中月的天数 var year2 = year; var month2 = parseInt(month) - monthNum; if (month2 <=0) { year2 = parseInt(year2) - parseInt(month2 / 12 == 0 ? 1 : parseInt(month2) / 12); month2 = 12 - (Math.abs(month2) % 12); } var day2 = day; var days2 = new Date(year2, month2, 0); days2 = days2.getDate(); if (day2 > days2) { day2 = days2; } if (month2 < 10) { month2 = '0' + month2; } var t2 = year2 + '-' + month2 + '-' + day2; return t2; }
/** *获取下一个月的输入日期 *{param:DateTime} date 输入日期(YYYY-MM-DD) *{param:number } monthNum 月数 */ GetNextMonthDay: function (date, monthNum) { var dateArr = date.split('-'); var year = dateArr[0]; //获取当前日期的年份 var month = dateArr[1]; //获取当前日期的月份 var day = dateArr[2]; //获取当前日期的日 var days = new Date(year, month, 0); days = days.getDate(); //获取当前日期中的月的天数 var year2 = year; var month2 = parseInt(month) + parseInt(monthNum); if (month2 >12) { year2 = parseInt(year2) + parseInt((parseInt(month2) / 12 == 0 ? 1 : parseInt(month2) / 12)); month2 = parseInt(month2) % 12; } var day2 = day; var days2 = new Date(year2, month2, 0); days2 = days2.getDate(); if (day2 > days2) { day2 = days2; } if (month2 < 10) { month2 = '0' + month2; } var t2 = year2 + '-' + month2 + '-' + day2; return t2; }
테스트 결과:
아무 것도 발견되지 않았습니다. 29일까지 밀면 전후가 29가 되는 것이 질문입니다. 1월 31일을 2월로 밀면 2월 29일이 됩니다(2월은 29일이기 때문입니다).
그러면 일부 요구에 따라 실제 상황에 따라 이 논리를 변경해야 합니다. 예를 들면: 한 달치 보증금을 지불하고 싶습니다. 현재 2.1~2.29(2월 한 달 전체)의 수수료를 납부했고, 1개월 입금액은 (3.1~3.31)이 되어야 합니다. 이 논리를 통해 3.1~3.29 이므로 실제 상황에 맞게 사용하시기 바랍니다
위 내용은 몇 달 전 또는 몇 달 후의 지정된 날짜를 처리하기 위해 JavaScript 시간을 사용하는 방법을 배웁니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!