wft-utils
Version:
The commonly used tool functions in daily development
255 lines (242 loc) • 7.74 kB
JavaScript
/**
* 获取 num 天前日期
* @param {*} num
* @returns
*/
export function getDate(num) {
var date1 = new Date();
var date2 = new Date(date1);
date2.setDate(date1.getDate() + num);
//num是正数表示之后的时间,num负数表示之前的时间,0表示今天
var time2 = addZero(date2.getFullYear()) + "-" + addZero((date2.getMonth() + 1)) + "-" + addZero(date2.getDate());
return time2;
}
function addZero(num) {//补0方法
if (parseInt(num) < 10) {
num = '0' + num;
}
return num;
}
/**
* 获取当前月份第一天
* @returns
*/
export function getCurrentMonthFirst() {
var date = new Date();
date.setDate(1);
var month = parseInt(date.getMonth() + 1);
var day = date.getDate();
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
return date.getFullYear() + '-' + month + '-' + day;
}
/**
* 获取当前月份最后一天
* @returns
*/
export function getCurrentMonthLast() {
var date = new Date();
var currentMonth = date.getMonth();
var nextMonth = ++currentMonth;
var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
var oneDay = 1000 * 60 * 60 * 24;
var lastTime = new Date(nextMonthFirstDay - oneDay);
var month = parseInt(lastTime.getMonth() + 1);
var day = lastTime.getDate();
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
return date.getFullYear() + '-' + month + '-' + day;
}
/**
* 获取当前周的第一天和最后一天
* @returns
*/
export function getCurrWeek() {
var d = new Date();
//获取周一
var beginWhereTheTime = GetMondayAndSunday(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 {
Monday: beginWhereTheTime,
Sunday: endWhereTheTime
}
}
//获取指定日期所在周周一
function GetMondayAndSunday(dd) {
var week = dd.getDay(); //获取时间的星期数
var minus = week ? week - 1 : 6;
dd.setDate(dd.getDate() - minus); //获取minus天前的日期
var y = dd.getFullYear();
var m = dd.getMonth() + 1; //获取月份
var d = dd.getDate();
return y + "-" + formatDate(m) + "-" + formatDate(d);
}
//格式化月和日为MM、dd
function formatDate(value) {
if (value < 10) {
value = "0" + value;
}
return value;
}
/**
* 获取某天日期(yyyy-MM-dd)为周几
* @param {*} date
* @returns
*/
export function getWeek(date) {
var weekArray = new Array("周日", "周一", "周二", "周三", "周四", "周五", "周六");
var week = weekArray[new Date(date).getDay()];
return week;
}
/**
* 获取当前时间
* @returns
*/
export function getCurrTime() {
return {
currTime: new Date().toLocaleTimeString('chinese', { hour12: false }),
currTimeStamp: new Date().getTime()
}
}
/**
* 标准时间转为时间戳
* @param {*} dateTime
* @returns
*/
export function dateTimeToStamp(dateTime) {
return Date.parse(new Date(dateTime))
}
/**
* 时间戳转为标准时间
* @param {*} timeStamp
* @returns
*/
export function timeStampTodateTime(timeStamp) { //timeStamp:毫秒格式,即13位 如果是秒就 *1000
let s = new Date(timeStamp)
let y = s.getFullYear()
let m = (s.getMonth() + 1) < 10 ? '0' + (s.getMonth() + 1) : (s.getMonth() + 1)
let dd = s.getDate() < 10 ? '0' + s.getDate() : s.getDate()
let hh = s.getHours() < 10 ? '0' + s.getHours() : s.getHours()
let mm = s.getMinutes() < 10 ? '0' + s.getMinutes() : s.getMinutes()
let ss = s.getSeconds() < 10 ? '0' + s.getSeconds() : s.getSeconds()
let enddate = y + '-' + m + '-' + dd + ' ' + hh + ':' + mm + ":" + ss
return enddate
}
/**
* 将Tue Mar 08 2022 16:43:57 GMT+0800 (中国标准时间)转为标准时间格式(yyyy-MM-dd HH:mm:ss)
* @param {*} value
* @returns
*/
export function dateFormat(value) {
var date = new Date(value);
var YY = date.getFullYear() + '-';
var MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var DD = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
var hh = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
var mm = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
var ss = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return YY + MM + DD + ' ' + hh + mm + ss;
}
/**
* 获取num月前的某天
* @param {*} num
* @param {*} day
* @returns
*/
export function getMonthDate(num = 0, day = '01') {
if(Number(day) < 10) day = '0' + Number(day)
let targetDate = new Date()
targetDate.setMonth(targetDate.getMonth() + num)
let [ date, time ] = dateFormat(targetDate).split(' ')
return date.split('-').slice(0, 2).join('-') + '-' + day
}
/**
* 秒数 转为 xx时xx分xx秒
* @param {string | number} value
* @returns
*/
export function formatSecondsToHour(value) {
let theTime = parseInt(value);// 秒
let middle = 0;// 分
let hour = 0;// 小时
if (theTime > 60) {
middle = parseInt(theTime / 60);
theTime = parseInt(theTime % 60);
if (middle > 60) {
hour = parseInt(middle / 60);
middle = parseInt(middle % 60);
}
}
let secondTime = parseInt(theTime) >= 10 ? parseInt(theTime) : '0' + parseInt(theTime)
let result = "" + secondTime + "秒";
if (middle > 0) {
let minuteTime = parseInt(middle) >= 10 ? parseInt(middle) : '0' + parseInt(middle)
result = "" + minuteTime + "分" + result;
}
if (hour > 0) {
result = "" + parseInt(hour) + "小时" + result;
}
return result;
}
/**
* 秒数 转为 xx天xx时xx分xx秒
* @param {string | number} value
* @returns
*/
export function formatSecondsToDay(value) {
let secondTime = parseInt(value) // 秒
let minuteTime = 0 // 分
let hourTime = 0 // 小时
let dayTime = 0 // 天
let result = ''
if (value < 60) {
result = secondTime + '秒'
} else {
if (secondTime >= 60) { // 如果秒数大于60,将秒数转换成整数
// 获取分钟,除以60取整数,得到整数分钟
minuteTime = parseInt(secondTime / 60)
// 获取秒数,秒数取佘,得到整数秒数
secondTime = parseInt(secondTime % 60)
// 如果分钟大于60,将分钟转换成小时
if (minuteTime >= 60) {
// 获取小时,获取分钟除以60,得到整数小时
hourTime = parseInt(minuteTime / 60)
// 获取小时后取佘的分,获取分钟除以60取佘的分
minuteTime = parseInt(minuteTime % 60)
if (hourTime >= 24) {
// 获取天数, 获取小时除以24,得到整数天
dayTime = parseInt(hourTime / 24)
// 获取小时后取余小时,获取分钟除以24取余的分;
hourTime = parseInt(hourTime % 24)
}
}
}
if (secondTime > 0) {
secondTime = parseInt(secondTime) >= 10 ? secondTime : '0' + secondTime
result = '' + secondTime + '秒'
}
if (minuteTime > 0) {
minuteTime = parseInt(minuteTime) >= 10 ? minuteTime : '0' + minuteTime
result = '' + minuteTime + '分' + result
}
if (hourTime > 0) {
result = '' + parseInt(hourTime) + '小时' + result
}
if (dayTime > 0) {
result = '' + parseInt(dayTime) + '天' + result
}
}
return result
}