时间

# 说明

  1. 本表格中的公共方法,主要针对时间进行操作。比如:转换时间格式、获取日期之间的天数、获取当前是第几季度等等
  2. 该公共方法主要为了封装项目中使用较多的方法,提升开发效率

# 代码示例

<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: ObjectNumberString。能经过parseInt转换的数据;cFormat):根据默认值删改 time: undefined; cFormat: '{y}-{m}-{d} {h}:{i}:{s}' 格式转换后的时间
formatTime 格式化时间: 将传入的一个参数(time,以秒为单位的时间戳)进行格式转换,若有第二个参数(cFormat,格式)则依照第二个参数的格式 (time,cFormat) time: NumberStringString能经过*转换为数据。 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-25or2021/3/25 time: undefined Object:{allDay: 此月的所有日期,firstDay:本月的起始日期,lastDay:本月的结束日期}
getSeason 获取本月是第几个季度中,得到季度的开始和结束日期 (time) String,格式:2021-03 time: undefined Array: [季度的开始日期, 季度的结束日期]
getDistanceDays 计算日期之间的天数 (date1,date2) NumberStringString能转换为数据。 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}' 按照格式返回时间