js 常用数据转换方法

//日期转换

export function timeToDay(num,type=1){
    let year = new Date(num).getFullYear()
    let month = new Date(num).getMonth() + 1 > 9 ? new Date(num).getMonth() + 1 : `0${new Date(num).getMonth() + 1}`
    let day = new Date(num).getDate() > 9 ? new Date(num).getDate() : `0${new Date(num).getDate()}`
    let hou = new Date(num).getHours() > 9 ? new Date(num).getHours() : `0${new Date(num).getHours()}`
    let min = new Date(num).getMinutes() > 9 ? new Date(num).getMinutes() : `0${new Date(num).getMinutes()}`
    let sec = new Date(num).getSeconds() > 9 ? new Date(num).getSeconds() : `0${new Date(num).getSeconds()}`
    if(type === 1){
        return `${hou}:${min}:${sec}`
    }else if(type == 2){
        return `${year}/${month}/${day}`
    }else{
        return `${year}/${month}/${day} ${hou}:${min}:${sec}`
    }
}

//数据流转换

// base64转blob
export function dataURLtoBlob(dataurl) {
    var arr = dataurl.split(','),
        mime = arr[0].match(/:(.*?);/)[1],
        bstr = atob(arr[1]),
        n = bstr.length,
        u8arr = new Uint8Array(n);
    while (n--) {
      u8arr[n] = bstr.charCodeAt(n);
    }
    return new Blob([u8arr], { type: mime });
}
// blob转file
export function blobToFile(theBlob, fileName){
    theBlob.lastModifiedDate = new Date();  // 文件最后的修改日期
    theBlob.name = fileName;                // 文件名
    return new File([theBlob], fileName, {type: theBlob.type, lastModified: Date.now()});
}
// base64转file
export function base64ToFile(urlData, fileName) {
    let arr = urlData.split(",");
    let mime = arr[0].match(/:(.*?);/)[1];
    let bytes = atob(arr[1]); // 解码base64
    let n = bytes.length;
    let ia = new Uint8Array(n);
    while (n--) {
      ia[n] = bytes.charCodeAt(n);
    }
    return new File([ia], `${this.imgData.bucketName}.png`, { type: mime });
}
// 图片file转Base64编码
export function imageToBase64 (file) {
    var reader = new FileReader()
    reader.readAsDataURL(file)
    reader.onload = () => {
      console.log('file 转 base64结果:' + reader.result)
      this.iconBase64 = reader.result
    }
    reader.onerror = function (error) {
      console.log('Error: ', error)
    }
}

//16进制和2进制转换

//十六进制转换十进制
parseInt(num,16)
//十进制转换十六进制
num.toString(16)

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值