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'))

 结果:

vue3 年月日 时分秒 各种转换_第1张图片 

 封装完整代码

可单独放到 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');
};

你可能感兴趣的:(vue3 年月日 时分秒 各种转换)