vue3 年月日 时分秒 各种转换

示例:

console.log('时转秒:','1时---',hoursToSeconds(1),'秒')
console.log('秒转时:','3600秒---',secondsToHours(3600),'时')
console.log('分转秒:','10分---',minuteToSecond(10),'秒')
console.log('秒转分:','600秒---',secondsToMinutes(600),'分')
console.log('分转时分:','80分---',convertMinutes(80))
console.log('年月日时分秒转秒:','2025-06-24 15:01:13 ---',datetimeToSeconds('2025-06-24 15:01:13'))
console.log('秒转年月日时分秒 :','1750748473 ---',formatToDateTime('1750748473'))
console.log('年月日时分转分:','2025-06-24 15:01 ---',datetimeToMinutes('2025-06-24 15:01'))
console.log('分转年月日时分 :','29179141 ---',formatMinutesToDateTime('29179141'))

 结果:

 

 封装完整代码

可单独放到 ts文件中

/**** 小时(小数|整数)转化为秒 start ****/

export function hoursToSeconds(hours) {
    if (isNaN(hours)) return 0
    return Math.floor(hours * 3600)
}


/**** 分(小数|整数)转化为秒 start ****/
export function minuteToSecond(minute) {
    return minute * 60;
}


/**** 秒 转化为 小时  start ****/
export function secondsToHours(seconds) {
    return parseFloat((seconds / 3600).toFixed(2))
}


/**** 秒 转化为 分  start ****/
export function secondsToMinutes(seconds) {
    return seconds / 60;
}

//分钟转化为 时分
export function convertMinutes(time) {
    const hours = Math.floor(time / 60);
    const minutes = time % 60;
    let result = "";
    if (hours > 0) {
        result += `${hours}时`;
    }
    if (minutes > 0 || hours === 0) {
        result += `${minutes}分`;
    }
    return time === 0 ? "0" : result;
};

//年月日 时分秒 转化为秒
export function datetimeToSeconds(datetimeStr) {
    const formattedStr = datetimeStr.length <= 16
        ? `${datetimeStr}:00`
        : datetimeStr;

    const targetDate = new Date(formattedStr);
    return Math.floor(targetDate.getTime() / 1000);
}

//秒 转化为  年月日时分秒
export const formatToDateTime = (seconds: number) => {
    return dayjs(seconds * 1000).format('YYYY-MM-DD HH:mm:ss');
};

// 将年月日时分转换为分钟数'YYYY-MM-DD HH:mm'
export function datetimeToMinutes(datetimeStr) {
    const [datePart, timePart] = datetimeStr.split(' ');
    const [year, month, day] = datePart.split('-').map(Number);
    const [hours, minutes] = timePart.split(':').map(Number);
    const date = new Date(year, month - 1, day, hours, minutes);
    return date.getTime() / (1000 * 60); // 毫秒转分钟
}

//分 转化为 年月日 时分
export const formatMinutesToDateTime = (minutes) => {
    return dayjs(minutes * 60000).format('YYYY-MM-DD HH:mm');
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值