Skip to content

时间格式化

按需引入

如果未做全局配置,可以按需引入:

javascript
// 引入
import { formatTime } from '@/node_modules/fusions-ui/libs/function/index.js';

// 调用
formatTime(...);

formatTime(time, format)格式化时间

此函数必须传入第一个参数,第二个参数是可选的,函数返回一个格式化好的时间

  • time 任何合法的时间格式 毫秒 的时间戳
  • format 时间格式,可选,默认 Y-M-D h:m:s,年为 Y,月为 M,日为 D,时为 h,分为 m,秒为 s,格式可以自由搭配,比如 Y-M-DY年M月D日Y-M-D h:mY年M月D日 h时分Y/M/D h:m:s 等组合。
html
<template>
    <view>
        <view>{{ `时间1为:${time1}` }}</view>
        <view>{{ `时间2为:${time2}` }}</view>
        <view>{{ `时间3为:${time3}` }}</view>
        <view>{{ `时间4为:${time4}` }}</view>
        <view>{{ `时间5为:${time5}` }}</view>
    </view>
</template>

<script setup>
    import { ref } from 'vue';

    // data数据
    const time1 = uni.$fu.formatTime(new Date().getTime());
    const time2 = uni.$fu.formatTime('2025-12-15', 'Y年M月D日 h时m分s秒');
    const time3 = uni.$fu.formatTime(new Date().getTime(), 'Y/M/D h:m:s');
    const time4 = uni.$fu.formatTime('2025-12-15', 'Y/M/D');
    const time5 = uni.$fu.formatTime(new Date().getTime(), 'Y年M月D日');
</script>

timeAgo(time, format)多久之前

此函数必须传入第一个参数,格式为任何合法的时间格式 毫秒 的时间戳,第一个参数是可选的,返回的值类似 刚刚1分钟前1小时前5天前的结果。

如果第二个参数是时间的格式,当前和传入时间戳相差大于一个月时,返回的格式化好的时间;如果第二个参数为 false,则不会返回格式化好的时间,而是 xxx年前 的结果

  • time 时间戳
  • format 时间格式,可选,默认为 Y-M-D, 详细格式见上方的 formatTime 函数。
html
<template>
    <view>
        <view>{{ `时间1为:${time1}` }}</view>
        <view>{{ `时间2为:${time2}` }}</view>
        <view>{{ `时间3为:${time3}` }}</view>
    </view>
</template>

<script setup>
    import { ref } from 'vue';

    // data数据
    const time1 = uni.$fu.timeAgo(new Date().getTime()); // 刚刚
    const time2 = uni.$fu.timeAgo(new Date('2025-05-15').getTime(),false); // 几个月前
    const time3 = uni.$fu.timeAgo(new Date('2025-05-154').getTime(), 'Y年M月D日'); // 2025年5月15日
</script>