• JS如何格式化时间?
  • 发布于 2天前
  • 21 热度
    2 评论
后台API返回的字段是日期时间型,格式类似2025-06-14 20:00:00这样,我现在在前端显示时间信息,用户喜欢把这个日期时间拆分成日期格式和时间格式,类似2025-06-14和20:00这样,这个JS要怎么才能实现?
用户评论
  • Fayer
  • 你直接使用JS的内在日期对象就可以了呀

    function formatTime(date) {
      let year = date.getFullYear(); // 获取年份
      let month = date.getMonth() + 1; // 获取月份(注意要加1,月份从0开始)
      let day = date.getDate(); // 获取日期
      let hour = date.getHours(); // 获取小时
      let minute = date.getMinutes(); // 获取分钟
      let second = date.getSeconds(); // 获取秒数
      // 格式化为指定的字符串形式(例如:2022-01-15 14:30:00)
      let formattedTime = year + '-' + addLeadingZero(month) + '-' + addLeadingZero(day) + ' ' + addLeadingZero(hour) + ':' + addLeadingZero(minute) + ':' + addLeadingZero(second);
     
      return formattedTime;
    }
    // 内置函数:如果数值小于10,在前面加0
    function addLeadingZero(num) {
      return num < 10 ? '0' + num : num;
    }
    // 使用示例
    let currentDate = new Date();
    let formattedDate = formatTime(currentDate);
    console.log(formattedDate);

  • 2025/6/13 22:13:00 [ 0 ] [ 0 ] 回复
  • 守一座空城
  • 这个你可以直接使用moment.js这个第三方插件,可以参考:https://momentjs.cn/

    功能还是很强大的:

    格式化日期
    moment().format('MMMM Do YYYY, h:mm:ss a'); // 六月 13日 2025, 10:10:14 晚上
    moment().format('dddd');                    // 星期五
    moment().format("MMM Do YY");               // 6月 13日 25
    moment().format('YYYY [escaped] YYYY');     // 2025 escaped 2025
    moment().format();                          // 2025-06-13T22:10:14+08:00
    相对时间
    moment("20111031", "YYYYMMDD").fromNow(); // 14 年前
    moment("20120620", "YYYYMMDD").fromNow(); // 13 年前
    moment().startOf('day').fromNow();        // 1 天前
    moment().endOf('day').fromNow();          // 2 小时后
    moment().startOf('hour').fromNow();       // 10 分钟前
    日历时间
    moment().subtract(10, 'days').calendar(); // 2025/06/03
    moment().subtract(6, 'days').calendar();  // 上周六22:10
    moment().subtract(3, 'days').calendar();  // 本周二22:10
    moment().subtract(1, 'days').calendar();  // 昨天22:10
    moment().calendar();                      // 今天22:10
    moment().add(1, 'days').calendar();       // 明天22:10
    moment().add(3, 'days').calendar();       // 下周一22:10
    moment().add(10, 'days').calendar();      // 2025/06/23
    多语言环境支持
    moment.locale();         // zh-cn
    moment().format('LT');   // 22:10
    moment().format('LTS');  // 22:10:14
    moment().format('L');    // 2025/06/13
    moment().format('l');    // 2025/6/13
    moment().format('LL');   // 2025年6月13日
    moment().format('ll');   // 2025年6月13日
    moment().format('LLL');  // 2025年6月13日晚上10点10分
    moment().format('lll');  // 2025年6月13日 22:10
    moment().format('LLLL'); // 2025年6月13日星期五晚上10点10分
    moment().format('llll');

  • 2025/6/13 22:11:00 [ 0 ] [ 0 ] 回复