自己整理出的一套JS通用相关的东西,比如时间处理,常用正则处理等,方面后期自己新建项目用,如果有需要的也可以看看,避免重复造轮子。
获取本地时间
/**
*
* 获取本地时间
* @method toLocalTime
* @param {String}[val = ''] val-需要转换的时间.
*
*/
function toLocalTime (val) {
let datetime = val ? new Date(val) : new Date();
let year = datetime.getFullYear();
let month = datetime.getMonth();
let day = datetime.getDate();
let hour = datetime.getHours();
let minute = datetime.getMinutes();
let second = datetime.getSeconds();
let result = year + '-' + formatTimeNumber(month + 1) + '-' + formatTimeNumber(day) + ' ' + formatTimeNumber(hour) + ':' + formatTimeNumber(minute) + ':' + formatTimeNumber(second);
return result;
}
/**
*
* 格式化时间数字
* @method formatTimeNumber
* @param {Number}[value] value-需要转换的数字.
*
*/
function formatTimeNumber (value) {
return value < 10 ? '0' + value : value + '';
}
获取某个月有多少天
/**
*
* 获取某个月有多少天
* @method getDays
* @param {Number} year-年份
* {Number} month-月份
*
*/
function getDays (year, month) {
return new Date(year, month, 0).getDate();
}
获取指定日期的星期数
/**
*
* 获取指定日期的星期数
* @method dayOfWeek
* @param {String}[val = ''] val-需要转换的时间.
*/
function dayOfWeek (val) {
let datetime = val ? new Date(val) : new Date();
return datetime.getDay() == 0 ? 7 : datetime.getDay();
}
获取指定日期当周的开始时间
/**
*
* 获取指定日期当周的开始时间
* @method timeOfStartWeek
* @param {String}[val = ''] val-需要转换的时间.
*/
function timeOfStartWeek (val) {
let datetime = val ? new Date(val) : new Date();
return toLocalTime(new Date(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() - dayOfWeek(datetime) + 1)).slice(0, 10);
}
获取指定日期当周的结束时间
/**
*
* 获取指定日期当周的结束时间
* @method timeOfEndWeek
* @param {String}[val = ''] val-需要转换的时间.
*/
function timeOfEndWeek (val) {
let datetime = val ? new Date(val) : new Date();
return toLocalTime(new Date(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + (7 - dayOfWeek(datetime)))).slice(0, 10);
}
获取指定日期当月的第一天
/**
* 获取指定日期当月的第一天
* @method monthOfStartDate
* @param {String}[val = ''] val-需要转换的时间.
*/
function monthOfStartDate (val) {
let datetime = val ? new Date(val) : new Date();
return toLocalTime(new Date(datetime.getFullYear(), datetime.getMonth(), 1)).slice(0, 10);
}
获取指定日期当月的最后一天
/**
*
* 获取指定日期当月的最后一天
* @method monthOfStartDate
* @param {String}[val = ''] val-需要转换的时间.
*/
function monthOfEndDate (val) {
let datetime = val ? new Date(val) : new Date();
let days = getDays(datetime.getFullYear(), datetime.getMonth() + 1);
return toLocalTime(new Date(datetime.getFullYear(), datetime.getMonth(), days)).slice(0, 10);
}
时间这一部分整理的东西暂时就这些,后期有需要会继续整理的。通用JS系列的文档会不定时更新的,谢谢!