Date
.prototype
.Format = function (fmt
) {
var o
= {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math
.floor((this.getMonth() + 3) / 3),
"S": this.getMilliseconds()
};
if (/(y+)/.test(fmt
))
fmt
= fmt
.replace(RegExp
.$
1, (this.getFullYear() + "").substr(4 - RegExp
.$
1.length
));
for (var k
in o
)
if (new RegExp("(" + k
+ ")").test(fmt
))
fmt
= fmt
.replace(RegExp
.$
1, (RegExp
.$
1.length
== 1) ? (o
[k
]) : (("00" + o
[k
]).substr(("" + o
[k
]).length
)));
return fmt
;
}
function dateFormat(date
) {
if (!date
|| typeof (date
) === "string") {
this.error("参数异常,请检查...");
}
var y
= date
.getFullYear();
var m
= date
.getMonth() + 1;
var d
= date
.getDate();
return y
+ "-" + m
+ "-" + d
;
}
function formatDate(value
) {
if (value
< 10) {
value
= "0" + value
;
}
return value
;
}
function getFirstDayOfWeek(dd
) {
var week
= dd
.getDay();
var minus
= week
? week
- 1 : 6;
dd
.setDate(dd
.getDate() - minus
);
var y
= dd
.getFullYear();
var m
= dd
.getMonth() + 1;
var d
= dd
.getDate();
return y
+ "-" + formatDate(m
) + "-" + formatDate(d
);
}
function getStartAndEndOfCurrWeek() {
var d
= new Date();
var year
= d
.getFullYear();
var month
= parseInt(d
.getMonth()) + 1;
var beginWhereTheTime
= getFirstDayOfWeek(d
);
var dd
= new Date(beginWhereTheTime
);
dd
.setDate(dd
.getDate() + 6);
var monthSunday
= parseInt(dd
.getMonth()) + 1;
var endWhereTheTime
= dd
.getFullYear() + "-" + formatDate(monthSunday
) + "-" + formatDate(dd
.getDate());
return {
"firstDate": beginWhereTheTime
,
"lastDate": endWhereTheTime
}
}
function getAllDates(begin
, end
) {
var arr
= [];
var ab
= begin
.split("-");
var ae
= end
.split("-");
var db
= new Date();
db
.setUTCFullYear(ab
[0], ab
[1] - 1, ab
[2]);
var de
= new Date();
de
.setUTCFullYear(ae
[0], ae
[1] - 1, ae
[2]);
var unixDb
= db
.getTime() - 24 * 60 * 60 * 1000;
var unixDe
= de
.getTime() - 24 * 60 * 60 * 1000;
for (var k
= unixDb
; k
<= unixDe
;) {
k
= k
+ 24 * 60 * 60 * 1000;
arr
.push((new Date(parseInt(k
))).Format('yyyy-MM-dd'));
}
return arr
;
}
function getFirstDayOfCurrentMonth() {
var now
= new Date();
now
.setDate(1);
var startDateStr
= now
.Format("yyyy-MM-dd");
return startDateStr
;
}
function getFirstDayOfMonth(date
) {
date
.setDate(1);
return dateFormat(date
);
}
function getFirstDayOfYear (date
) {
date
.setDate(1);
date
.setMonth(0);
return dateFormat(date
);
}
function getFirstDayOfSeason (date
) {
var month
= date
.getMonth();
if(month
<3 ){
date
.setMonth(0);
}else if(2 < month
&& month
< 6){
date
.setMonth(3);
}else if(5 < month
&& month
< 9){
date
.setMonth(6);
}else if(8 < month
&& month
< 11){
date
.setMonth(9);
}
date
.setDate(1);
return dateFormat(date
);
}
function getStartEndOfQuarter(year
,quarter
) {
let startMonth
= 1;
if(quarter
== 1){
startMonth
= 1;
}else if (quarter
== 2){
startMonth
= 4;
}else if (quarter
== 3){
startMonth
= 7;
}else if (quarter
== 4){
startMonth
= 10;
}
let endMonth
= startMonth
+ 2;
if (quarter
== 0){
endMonth
= 12
}
const startDate
= year
+"-"+formatDate(startMonth
)+'-01';
const endDate
= year
+ '-' + formatDate(endMonth
) + '-' +new Date(year
,endMonth
,0).getDate()
console
.log(startDate
,endDate
)
return {startDate
,endDate
}
}
function getLastMonthTime(date
){
var daysInMonth
= [0,31,28,31,30,31,30,31,31,30,31,30,31];
var strYear
= date
.getFullYear();
var strDay
= date
.getDate();
var strMonth
= date
.getMonth()+1;
if (((strYear
% 4) === 0) && ((strYear
% 100)!==0) || ((strYear
% 400)===0)){
daysInMonth
[2] = 29;
}
if(strMonth
- 1 === 0)
{
strYear
-= 1;
strMonth
= 12;
}
else
{
strMonth
-= 1;
}
strDay
= Math
.min(strDay
,daysInMonth
[strMonth
]);
if(strMonth
<10)
{
strMonth
="0"+strMonth
;
}
if(strDay
<10)
{
strDay
="0"+strDay
;
}
var datastr
= strYear
+"-"+strMonth
+"-"+strDay
;
return datastr
;
}
* 获取上一个月
*
* @date 格式为yyyy
-mm
-dd的日期,如:
2014-01-25
*/
function getPreMonth(date
) {
var arr
= date
.split('-');
var year
= arr
[0];
var month
= arr
[1];
var day
= arr
[2];
var days
= new Date(year
, month
, 0);
days
= days
.getDate();
var year2
= year
;
var month2
= parseInt(month
) - 1;
if (month2
== 0) {
year2
= parseInt(year2
) - 1;
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
;
}
function getNextMonth(date
) {
var arr
= date
.split('-');
var year
= arr
[0];
var month
= arr
[1];
var day
= arr
[2];
var days
= new Date(year
, month
, 0);
days
= days
.getDate();
var year2
= year
;
var month2
= parseInt(month
) + 1;
if (month2
== 13) {
year2
= parseInt(year2
) + 1;
month2
= 1;
}
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
;
}
转载请注明原文地址: https://lol.8miu.com/read-30245.html