# 说明
- 本表格中的公共方法,主要针对时间进行操作。比如:转换时间格式、获取日期之间的天数、获取当前是第几季度等等
- 该公共方法主要为了封装项目中使用较多的方法,提升开发效率
# 代码示例
<script>
// parseTime
const resParseTime = parseTime(1709619323000, '{y}-{m}-{d} {h}:{i}:{s}')
console.log(resParseTime) // 2024-3-5 14:15:23
// formatTime
// 距离当前的时间:1、小于30秒,显示'刚刚';2、小于1小时,显示'xx分钟前';3、小于1天,显示'xx小时前';4、小于2天,显示'1天前';5、其余的,若传参cFormat,则按格式来,否则依照'xx月xx日xx时xx分'
const resFormatTime1 = formatTime(1711346121)
const resFormatTime2 = formatTime(1711346100)
const resFormatTime3 = formatTime(1608318323)
console.log('resFormatTime1:', resFormatTime1) // resFormatTime1: 刚刚
console.log('resFormatTime2:', resFormatTime2) // resFormatTime2: 1分钟前
console.log('resFormatTime3:', resFormatTime3) // resFormatTime3: 12月19日3时5分
// ifTimeRange
const resIfTimeRange1 = ifTimeRange('14:30', '14:35', '14:32')
const resIfTimeRange2 = ifTimeRange('14:30', '14:35', '14:40')
console.log('resIfTimeRange1:', resIfTimeRange1, 'resIfTimeRange2:', resIfTimeRange2) // resIfTimeRange1: true resIfTimeRange2: false
// getDays
const resGetDays = getDays('2024/3')
console.log('resGetDays:', resGetDays) // { allDay: ['2024-03-01', '2024-03-02', '2024-03-03', '2024-03-04', '2024-03-05', '2024-03-06', '2024-03-07', '2024-03-08', '2024-03-09', '2024-03-10', '2024-03-11', '2024-03-12', '2024-03-13', '2024-03-14', '2024-03-15', '2024-03-16', '2024-03-17', '2024-03-18', '2024-03-19', '2024-03-20', '2024-03-21', '2024-03-22', '2024-03-23', '2024-03-24', '2024-03-25', '2024-03-26', '2024-03-27', '2024-03-28', '2024-03-29', '2024-03-30', '2024-03-31'], firstDay: 1, lastDay: 31 }
// getSeason
const resGetSeason = getSeason('2024-03')
console.log('resGetSeason:', resGetSeason) // resGetSeason: ['2024-01-01', '2024-03-31']
// getDistanceDays
const resGetDistanceDays = getDistanceDays(1709619323000, 1711346121000)
console.log('resGetDistanceDays:', resGetDistanceDays) // resGetDistanceDays: 20
//isDate
const date1 = '2019-10-20';
const date2 = 'invalid date';
const date3 = new Date('2019-10-20');
const date4 = [new Date()];
console.log(isDate(date1)); // true
console.log(isDate(date2)); // false
console.log(isDate(date3)); // true
console.log(isDate(date4)); // false
//getWeekNumber
const weekNumber = getWeekNumber(new Date())
console.log(weekNumber) // 输出当前日期所在的周数
const date1 = new Date("2022-01-01")
const weekNumber1 = getWeekNumber(date1)
console.log(weekNumber1) // 1
const date2 = new Date("2022-12-31")
const weekNumber2 = getWeekNumber(date2)
console.log(weekNumber2) // 52
//getBeforeDate
const result = getBeforeDate(2, '2022-10-20', '{y}-{m}-{d}');
console.log(result); // '2022-10-18'
//getFirstDayOfWeek
const date = new Date();
console.log(getFirstDayOfWeek(date)); // Sun May 02 2021
console.log(getFirstDayOfWeek(date, {format: 'yyyy-mm-dd'})); // 2021-05-02
//getLastDayOfWeek
const date = new Date();
const lastDay = getLastDayOfWeek(date, {format: 'YYYY-MM-DD'});
console.log(lastDay); // '2022-12-03'
</script>
# 时间公共工具列表
# 内容
方法名 / 字段名 | 描述 | 传参 | 可选值 | 默认值 | 回参 |
---|---|---|---|---|---|
parseTime | 过滤时间: 将传入的一个参数(time,时间)根据传入的第二个参数(cFormat,格式)进行时间格式的转换 | (cFormat) | time: Object 或Number 或String 。能经过parseInt转换的数据;cFormat):根据默认值删改 | time: undefined; cFormat: '{y}-{m}-{d} {h}:{i}:{s}' | 格式转换后的时间 |
formatTime | 格式化时间: 将传入的一个参数(time,以秒为单位的时间戳)进行格式转换,若有第二个参数(cFormat,格式)则依照第二个参数的格式 | (time,cFormat) | time: Number 或String ,String 能经过*转换为数据。 | time: undefined; cFormat: undefined | 格式化后的时间 |
pickerOptions | 变量名,值是时间的快捷选项。选项有:今天、最近一周、最近一个月、最近三个月 | - | - | - | - |
ifTimeRange | 判断所选时间是否在某一时间段 | (beginTime,endTime,nowTime) | String ,格式:14:24 。 | beginTime: undefined; endTime: undefined; nowTime: undefined | true:在开始结束时间的范围内;false:不在范围内 或者 格式不规范 |
getDays | 根据月份获取,月份所有日期 | (time) | String ,格式:2021-3-25 or2021/3/25 。 | time: undefined | Object:{allDay: 此月的所有日期,firstDay:本月的起始日期,lastDay:本月的结束日期} |
getSeason | 获取本月是第几个季度中,得到季度的开始和结束日期 | (time) | String ,格式:2021-03 。 | time: undefined | Array: [季度的开始日期, 季度的结束日期] |
getDistanceDays | 计算日期之间的天数 | (date1,date2) | Number 或String ,String 能转换为数据。 | date1: undefined; date2: undefined | Number: 计算日期之间的天数 |
isDate | 判断输入值是否为日期类型 | (time) | String ,格式:2021-03-25 | time:undefined | 返回布尔值 |
getWeekNumber | 根据传入日期获取到年的周数 | (time) | Date 或者String | time:undefined | 返回周数 |
getBeforeDate | 获取当前日期前后多少天的日期,多少天前传正数,多少天后传负数,今天传0 | (num, time, cFormat) | - | num:undefined,time:new Date() ,cFormat: '{y}-{m}-{d} {h}:{i}:{s}' | 按照格式返回时间 |
getFirstDayOfWeek | 当前周周一的日期 | (date, cFormat) | - | date: new Date() ;cFormat: '{y}-{m}-{d} {h}:{i}:{s}' | 按照格式返回时间 |
getLastDayOfWeek | 当前周周日的日期 | (date, cFormat) | - | date:undefined,cFormat: '{y}-{m}-{d} {h}:{i}:{s}' | 按照格式返回时间 |