js常用的一些方法集合
1、时间
export function specificDate(time) {
let date = new Date(time);
let year = date.getFullYear();
let month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
let day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
return year + "-" + month + "-" + day;
}
export function standardTime(date) {
let result = return new Date(`${date}`);
return result;
}
export function frontDate(date) {
return new Date(date.getTime() - 24 * 60 * 60 * 1000)
}
export function afterDate(date) {
return new Date(date.getTime() + 24 * 60 * 60 * 1000)
}
export function sameDayStart(date) {
return new Date(date.toLocaleDateString()).getTime();
}
export function sameDayEnd(date) {
return new Date(date).getTime() + 24 * 60 * 60 * 1000 - 1
}
export function dateFormat(time) {
let date = new Date(time);
let year = date.getFullYear();
let month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
let day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
let hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
let minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
let seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
}
export const dateConvert = (dateTime, pattern) => {
let dateStr;
pattern = pattern ? pattern : 'yyyy-MM-dd';
dateTime = dateTime ? new Date(dateTime) : new Date
if (typeof dateTime == 'object' || typeof dateTime == 'number') {
let year = dateTime.getFullYear();
let month = dateTime.getMonth() + 1 >= 10 ? dateTime.getMonth() + 1 : '0' + (dateTime.getMonth() + 1);
let day = dateTime.getDate() >= 10 ? dateTime.getDate() : '0' + dateTime.getDate();
dateStr = year + '-' + month + '-' + day;
}
return dateStr;
}
export function YearMoMonth(date) {
let Year = date.getFullYear();
let Month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
return Year + "-" + Month
}
export function nowLast() {
return new Date(new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1);
}
export function nowStart() {
return new Date(new Date().toLocaleDateString())
}
export function twelve(bool = true) {
var dataArr = [];
var data = new Date();
var year = data.getFullYear();
if (bool) {
data.setMonth(data.getMonth() - 1, 1)
} else {
data.setMonth(data.getMonth() + 1, 1)
}
for (var i = 0; i < 12; i++) {
if (bool) {
data.setMonth(data.getMonth() + 1);
} else {
data.setMonth(data.getMonth() - 1);
}
var m = data.getMonth() + 1;
m = m < 10 ? "0" + m : m;
dataArr.push(data.getFullYear() + "-" + (m))
}
console.log(dataArr);
}
export function getMonthDays(year, month) {
var date = new Date(year, month, 0)
return date.getDate()
}
2、操作json字符串
export function deleteEmptyProperty(json) {
let obj = json
for (var key in obj) {
if (obj[key] == "" || obj[key] == null || obj[key] == NaN || obj[key] == []) {
delete obj[key];
}
}
return obj;
}
export function mergeJsonObject(jsonbject1,jsonbject2) {
let resultJsonObject = {};
for (var attr in jsonbject1) {
resultJsonObject[attr] = jsonbject1[attr];
}
for (var attr in jsonbject2) {
resultJsonObject[attr] = jsonbject2[attr];
}
return resultJsonObject;
}
3、获取URL路径后面的参数
export function getAllUrlParams(url) {
var queryString = url ? url.split('?')[1] : window.location.search.slice(1);
var obj = {};
if (!queryString) {
return obj;
}
queryString = queryString.split('#')[0];
var arr = queryString.split('&');
for (var i = 0; i < arr.length; i++) {
var a = arr[i].split('=');
var paramName = a[0];
var paramValue = typeof(a[1]) === 'undefined' ? true : a[1];
paramName = paramName.toLowerCase();
if (typeof paramValue === 'string') paramValue = paramValue.toLowerCase();
if (paramName.match(/\[(\d+)?\]$/)) {
var key = paramName.replace(/\[(\d+)?\]/, '');
if (!obj[key]) obj[key] = [];
if (paramName.match(/\[\d+\]$/)) {
var index = /\[(\d+)\]/.exec(paramName)[1];
obj[key][index] = paramValue;
} else {
obj[key].push(paramValue);
}
} else {
if (!obj[paramName]) {
obj[paramName] = paramValue;
} else if (obj[paramName] && typeof obj[paramName] === 'string') {
obj[paramName] = [obj[paramName]];
obj[paramName].push(paramValue);
} else {
obj[paramName].push(paramValue);
}
}
}
return obj;
}
export function parseQueryString(url) {
var queryString = url ? url.split('?')[1] : window.location.href;
var obj = {};
if (!queryString.indexOf("?")) {
return obj;
}
var keyvalue = [];
var key = "",
value = "";
var paraString = queryString.substring(queryString.indexOf("?") + 1, queryString.length).split("&");
for (var i in paraString) {
keyvalue = paraString[i].split("=");
key = keyvalue[0];
value = keyvalue[1];
obj[key] = value;
}
return obj;
}