yylib-quick-mobile
Version:
yylib-quick-mobile
152 lines (135 loc) • 3.52 kB
JavaScript
/**
* Created by Ryn on 2016/8/6.
* 帮助函数
*/
// 一些私有变量
// 一些公有变量、函数
/**
*
* 判断这一年是闰年还是平年
* @param year {String/Number} 年份
* @returns {boolean}
*/
export const isLeapYear = function(year) {
if (!typeof +year === 'number') {
throw new Error("年份格式不正确");
}
if (+year < 1790) {
throw new Error("年份不能低于1790年");
}
// 计算闰年方法
// 1.能被4整除而不能被100整除
// 2.能被400整除
return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
};
/**
* 返回月份中的第一天是星期几
* @returns {number}
* 1 星期一
* 2 星期二
* 3 星期三
* 4 星期四
* 5 星期五
* 6 星期六
* 0 星期天
*/
export const weekOfMonth = function(date) {
if (!date) {
date = new Date();
}
if(!(date instanceof Date)){
date=new Date(date);
}
return new Date(getFullYear(date), getMonth(date), getDay(date)).getDay();
};
/**
* 获取月份
* @param date
* @returns {*|number}
*/
export const getMonth = function(date) {
if (!date) {
date = new Date();
}
if(!(date instanceof Date)){
date=new Date(date);
}
return date.getMonth();
};
/**
* 获取年份
* @param date
* @returns {number}
*/
export const getFullYear = function(date) {
if (!date){
date = new Date();
}
if(!(date instanceof Date)){
date=new Date(date);
}
return date.getFullYear();
};
export const parseAntDate=function(value) {
if (value) {
value = new Date(value.replace(/-/g, '/'));
}
return value;
}
/**
* 获取一月中的某一天
* @param date
* @returns {number}
*/
export const getDay = function(date) {
if (!date){
date = new Date();
}
if(!(date instanceof Date)){
date=new Date(date);
}
return date.getDate();
};
export const equalDate=function(date1,date2){
var year1=getFullYear(date1);//获取年1
var year2 =getFullYear(date2);//获取年2
var month1=getMonth(date1);//获取月1
var month2 =getMonth(date2);//获取月2
var day1=getDay(date1);//获取天1
var day2=getDay(date2);//获取天1
return (year1==year2)&&(month1==month2)&&(day1==day2)
}
export const pattern=function(date,format) {
if (date===undefined || date === null || !(date instanceof Date)) {
return date;
}
var o = {
"M+": date.getMonth() + 1,
"d+": date.getDate(),
"(H|h)+": date.getHours(),
"m+": date.getMinutes(),
"s+": date.getSeconds(),
"q+": Math.floor((date.getMonth() + 3) / 3),
"S": date.getMilliseconds()
};
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k])
.substr(("" + o[k]).length));
}
}
return format;
}
export default {
isLeapYear,
weekOfMonth,
getMonth,
getFullYear,
getDay,
parseAntDate,
equalDate,
pattern
};