首页 > 解决方案 > 尝试将数字格式化为数据库中的时间格式

问题描述

我在格式化从数据库收到的一些时间格式时遇到了一些问题。我想转换数据库中的两种类型的数据,以一种很好的格式显示在我的页面上。例如,在我的数据库中,我将 04:00 设为 400,将 18:30 设为 1830。我有以下代码:

formatTime(time) {
    //Atleast3characterslong
    if (time.length > 2) {

      let firstDigits = time.substring(0, time.length - 2);  //lastDigitscharacters
      let lastDigits = time.slice(-2);  //removesthelastDigitschars
      let formattedHour = (firstDigits.length > 1) ? firstDigits + ":" + lastDigits : "0" + firstDigits + ":" + lastDigits;  //Concatenatesthem
      return formattedHour;
    } else if (time.length <= 2) {
      let firstDigits = '00';
      let lastDigits = time;
      let formattedHour = (lastDigits.length < 2) ? firstDigits + ":0" + lastDigits : firstDigits + ":" + lastDigits;
      return formattedHour;
    }
    return time;
  }

我希望在我的页面上显示 400 为 04:00,1830 为 18:30 等等,我不知道为什么它不起作用,有什么帮助吗?

标签: angulartypescriptfunction

解决方案


在前面加一个零怎么样:

formatTime(time) {
  if(time.length !=4){
    time = "0"+time;
  }
  return time.substring(0, 2) + ":" + time.substring(2)
}

也许您应该考虑使用数据格式和角度日期管道


推荐阅读