JS处理日时分秒格式转化为秒(如:10天10小时10分钟10秒 => 900610秒) Ⅰ、提取日时分秒格式中的数字1、将年月日时分秒格式通过JS提取数字的代码为// 逻辑说明// 此时的 passlifetime 就是类似 10天10小时10分钟10秒 的格式;// 逻辑1(天)先将 passlifetime 转成字符串若该字符串中包含 天那么就以 天 为特殊字符分成两个数组并获取下标为0的数组值并做去除空格处理来作为最终的从 天 提取出来的数字否则就为0;// 逻辑2(小时)先将 passlifetime 转成字符串若该字符串中包含 天那么就以 天 为特殊字符分成两个数组并获取下标为1的数组值若该数组值中包含 小时那么就以 小时 为特殊字符分成两个数组并获取下标为0的数组值并做去除空格处理来作为最终的从 小时 提取出来的数字否则就为0;而若该字符串中不包含 天那么就以 小时 为特殊字符分成两个数组并获取下标为0的数组值并做去除空格处理来作为最终的从 小时 提取出来的数字否则就为0;// 逻辑3(分钟)先将 passlifetime 转成字符串若该字符串中包含 小时那么就以 小时 为特殊字符分成两个数组并获取下标为1的数组值若该数组值中包含 分钟那么就以 分钟 为特殊字符分成两个数组并获取下标为0的数组值并做去除空格处理来作为最终的从 分钟 提取出来的数字否则就为0;而若该字符串中不包含 小时那么就以 分钟 为特殊字符分成两个数组并获取下标为0的数组值并做去除空格处理来作为最终的从 分钟时 提取出来的数字否则就为0;// 逻辑4(秒)先将 passlifetime 转成字符串若该字符串中包含 分钟那么就以 分钟 为特殊字符分成两个数组并获取下标为1的数组值若该数组值中包含 秒那么就以 秒 为特殊字符分成两个数组并获取下标为0的数组值并做去除空格处理来作为最终的从 秒 提取出来的数字否则就为0;而若该字符串中不包含 分钟那么就以 秒 为特殊字符分成两个数组并获取下标为0的数组值并做去除空格处理来作为最终的从 秒 提取出来的数字否则就为0;consthandleEdit(index,row){//UserPasswordExpirationDialogForm.value.username row.username//UserPasswordExpirationDialogVisible.value trueUserPasswordExpirationDialogForm.value.dayrow.passlifetime.toString().includes(天)?row.passlifetime.toString().split(天)[0].trim():0UserPasswordExpirationDialogForm.value.hoursrow.passlifetime.toString().includes(天)?row.passlifetime.toString().split(天)[1].split(小时)[0].trim():row.passlifetime.toString().includes(小时)?row.passlifetime.toString().split(小时)[0].trim():0UserPasswordExpirationDialogForm.value.minutesrow.passlifetime.toString().includes(小时)?row.passlifetime.toString().split(小时)[1].split(分钟)[0].trim():row.passlifetime.toString().includes(分钟)?row.passlifetime.toString().split(分钟)[0].trim():0UserPasswordExpirationDialogForm.value.secondsrow.passlifetime.toString().includes(分钟)?row.passlifetime.toString().split(分钟)[1].split(秒)[0].trim():row.passlifetime.toString().includes(秒)?row.passlifetime.toString().split(秒)[0].trim():0UserPasswordExpirationDialogForm.value.expirationDayrow.notify_time.toString().includes(天)?row.notify_time.toString().split(天)[0].trim():0}2、成功转换的例子输入日时分秒格式为10秒 输出结果为 0 0 0 10输入日时分秒格式为10分钟10秒 输出结果为 0 0 0 10输入日时分秒格式为10小时10分钟10秒 输出结果为 0 10 10 10输入日时分秒格式为10天10小时10分钟10秒 输出结果为 10 10 10 103、最终的输出截图其一、10小时10分钟10秒其二、10天10小时10分钟10秒Ⅱ、提取的数字转化为秒1、通过JS提取数字转化为秒的代码为// 此时是设置 passlifetime 值为转化后的秒值// 逻辑日值*24*3600 时*3600 分*60 秒letfinalValueparseInt(UserPasswordExpirationDialogForm.value.day*24*3600)parseInt(UserPasswordExpirationDialogForm.value.hours*3600)parseInt(UserPasswordExpirationDialogForm.value.minutes*60)parseInt(UserPasswordExpirationDialogForm.value.seconds)// let url /api/user/passtimeoutinfoletobj{username:UserPasswordExpirationDialogForm.value.username,passlifetime:finalValue,notify_time:UserPasswordExpirationDialogForm.value.expirationDay,}2、最终的输出截图10天10小时10分钟10秒格式转化为900610秒Ⅲ、小结其一、哪里有不对或不合适的地方还请大佬们多多指点和交流其二、若有转发或引用本文章内容请注明本博客地址(直接点击下面 url 跳转) https://blog.csdn.net/weixin_43405300,创作不易且行且珍惜其三、有兴趣的话可以多多关注这个专栏(Vue(Vue2Vue3)面试必备专栏)(直接点击下面 url 跳转)https://blog.csdn.net/weixin_43405300/category_11525646.html?spm1001.2014.3001.5482其四、再有兴趣的话也可以多多关注这个专栏(Java)(直接点击下面 url 跳转)https://blog.csdn.net/weixin_43405300/category_12654744.html?spm1001.2014.3001.5482