返回指定天数的年月日
// console.log("半年前:"+getDateStr(-180));
// console.log("三月前:"+getDateStr(-90));
// console.log("一月前:"+getDateStr(-30));
// console.log("昨天:"+getDateStr(-1));
// console.log("今天:"+getDateStr(0));
// console.log("明天:"+getDateStr(1));
// console.log("后天:"+getDateStr(2));
// console.log("一月后:"+getDateStr(30));
// console.log("三月后:"+getDateStr(90));
// console.log("半年后:"+getDateStr(180));
export function getDateStr(dayCount) {
var dd = new Date();
dd.setDate(dd.getDate() + dayCount); //获取dayCount天后的日期
var y = dd.getFullYear();
var m = (dd.getMonth() + 1) < 10 ? "0" + (dd.getMonth() + 1) : (dd.getMonth() + 1); //获取当前月份的日期,不足10补0
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate(); //获取当前几号,不足10补0
return y + "-" + m + "-" + d;
}
获取某月总天数
export function getDayNum(year, month) {
let d = new Date(year, month, 0);
return d.getDate();
};
返回多少月之前的所有月份
export function getRecentMonth(n) {
let nowDate = new Date()
let array = []
let year = nowDate.getFullYear()
let mon = nowDate.getMonth() + 1
for (let i = 0; i < n; i++) {
mon = mon - 1
if (mon <= 0) {
year = year - 1
mon = mon + 12
}
if (mon < 10) {
mon = '0' + mon
}
array[i] = year + '-' + mon
}
return array
}
返回某天是星期几
export function getWeek(date) {
let dt2 = new Date(date);
var weekDay = ["星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
if (weekDay.indexOf(weekDay[dt2.getDay()]) > -1) {
return {
weekStr: weekDay[dt2.getDay()],
weekNum: dt2.getDay()
}
}
return ''
};
计算两点间直线距离
/**
* 计算两点间直线距离
* @param a 表示纬度差
* @param b 表示经度差
* @param lat 表示经度
* @param lng 表示经度
* @return 返回的是距离,单位m
*/
export function getDistance(latFrom, lngFrom, latTo, lngTo) {
var rad = function(d) { //计算角度
return d * Math.PI / 180.0;
}
var EARTH_RADIUS = 6378136.49;
var radLatFrom = rad(latFrom);
var radLatTo = rad(latTo);
var a = radLatFrom - radLatTo;
var b = rad(lngFrom) - rad(lngTo);
var distance = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLatFrom) * Math.cos(radLatTo) *
Math.pow(Math.sin(b / 2), 2)));
distance = distance * EARTH_RADIUS;
distance = Math.round(distance * 10000) / 10000;
return parseFloat(distance.toFixed(0));
}