微信小程序上时间转换格式

  • utils/utils.ts

日期格式转换

/**
* 时间戳转化为年 月 日 时 分 秒
* @params number 传入时间戳
* @params format:返回格式,支持自定义,但参数必须与formateArr里保持一致
* formatTime(sjc,'Y/M/D hⓂ️s')
*/
export function formatTime(_Date: any, format: any = "Y/M/D") {
if (!_Date) {
return "";
}
var date = new Date(_Date);
return commonDate(date,format)
}

const commonDate = (date: any, format = "Y/M/D") => {
var formateArr = ["Y", "M", "D", "h", "m", "s"];
var returnArr = [];
returnArr.push(date.getFullYear());
returnArr.push(formatNumber(date.getMonth() + 1));
returnArr.push(formatNumber(date.getDate()));
returnArr.push(formatNumber(date.getHours()));
returnArr.push(formatNumber(date.getMinutes()));
returnArr.push(formatNumber(date.getSeconds()));
let timeStr = format;
for (var i in formateArr) {
timeStr = timeStr.replace(formateArr[i], returnArr[i]);
}
return timeStr;
}

const formatNumber = (n: number) => {
const s = n.toString()
return s[1] ? s : '0' + s
}
const formatDate = (date: any, format = "Y/M/D") => {
return commonDate(date,format)
}
// 【JS】js将 /Date(1669257627432+0800)/ 转换为YYYY-MM-DD格式
export function formatDateStamp(time?: any, format?:any) {
if (!time) {
return ''
}
var t = time.slice(6, 19)
var NewDtime = new Date(parseInt(t));
return formatDate(NewDtime, format );
}

  • 使用

  • 默认显示 YYYY/MM/DD 格式

    import { formatDateStamp,formatTime } from "../../utils/util";

    console.log(formatDateStamp('/Date(1669257627432+0800)/')) // 2022/11/24
    console.log(formatDateStamp('/Date(1669257627432+0800)/','Y-M-D hⓂ️s')) // 2022-11-24 10:40:27
    console.log(formatTime('2022-10-13T12:30:43.73')) // 2022/10/13
    console.log(formatTime('2022-10-13T12:30:43.73','Y-M-D hⓂ️s')) // 2022-10-13 12:30:43
    console.log(formatTime('2022-10-13T12:30:43.73','Y/M/D hⓂ️s')) // 2022/10/13 12:30:43
    console.log(formatTime(1669267989009)) // 2022/11/24
    console.log(formatTime(1669267989009,'Y-M-D hⓂ️s')) // 2022-11-24 13:33:09

日期转换为周几

  • 方法

    export function getWeekByDate ( dates:any) {
    let show_day = new Array('周日', '周一', '周二', '周三', '周四', '周五', '周六');
    let date = new Date(dates);
    date.setDate(date.getDate());
    let day = date.getDay();
    return show_day[day];
    }

  • 使用

    console.log(getWeekByDate('2022-11-24')) // 周四
    console.log(getWeekByDate('2022/11/24')) // 周四
    console.log(getWeekByDate('2022-10-13T12:30:43.73')) // 周四

获取未来的天数的完整信息

  • 方法

    export function dealTime (num: any) { // num:未来天数
    var time = new Date() // 获取当前时间日期
    var date = new Date(time.setDate(time.getDate() + num)).getDate() //这里先获取日期,在按需求设置日期,最后获取需要的
    var year = time.getFullYear()
    var month = time.getMonth() + 1 // 获取月份
    var day: any = time.getDay() // 获取星期
    switch (day) { // 格式化
    case 0: day = "周日"
    break
    case 1: day = "周一"
    break
    case 2: day = "周二"
    break
    case 3: day = "周三"
    break
    case 4: day = "周四"
    break
    case 5: day = "周五"
    break
    case 6: day = "周六"
    break
    }
    var month1 = month < 10 ? "0" + month : month
    var date1 = date < 10 ? "0" + date : date
    var obj = {
    year: year,
    month: month,
    date: date,
    day: day,
    newday: year + '/' + month1 + '/' + date1,
    }
    // 安卓可以处理‘-’与‘/’的时间格式,而IOS系统上只能处理‘/’的时间格式
    return obj // 返回对象
    }

  • 使用

    console.log(dealTime(0)) // 今天 { date: 24,day: "周四",month: 11,newday: "2022/11/24",year: 2022 }
    console.log(dealTime(1)) // 明天 { date: 25,day: "周五",month: 11,newday: "2022/11/25",year: 2022 }
    console.log(dealTime(7)) //

Date.parse

  • 日期比较大小

    console.log(Date.parse('2022-11-24') <= Date.parse('2022-11-1')) // false
    console.log(Date.parse('2022-11-01') <= Date.parse('2022-11-14')) // true

posted @ 2022-11-24 14:02  不完美的完美  阅读(2985)  评论(0)    收藏  举报