Angular 如何在Ionic 3中以HH:MM格式显示时间

Angular 如何在Ionic 3中以HH:MM格式显示时间,angular,ionic-framework,ionic3,Angular,Ionic Framework,Ionic3,我从API获取的时间格式为13:45:56,我想显示为13:45(HH:MM)。有人能帮我吗?我尝试将日期管道与绑定标记一起使用,但它会抛出一个错误 InvalidPipeArgument: '23:00:00' for pipe 'DatePipe' 小时,24小时,领先0点。。。23 小时,12小时1。。。12 小时,12小时,领先0.01。。。十二, m-分钟1。。。59 毫米-分钟,领先零点01。。。59 所以你可以简单地写HH:mm 例如: Angular的DatePipe希望根据

我从API获取的时间格式为13:45:56,我想显示为13:45(HH:MM)。有人能帮我吗?我尝试将日期管道与绑定标记一起使用,但它会抛出一个错误

 InvalidPipeArgument: '23:00:00' for pipe 'DatePipe'

小时,24小时,领先0点。。。23 小时,12小时1。。。12 小时,12小时,领先0.01。。。十二,

m-分钟1。。。59 毫米-分钟,领先零点01。。。59

所以你可以简单地写HH:mm

例如:


Angular的
DatePipe
希望根据以下条件获得一个日期:

..日期对象、数字(UTC历元后的毫秒数)或ISO字符串

因此,如果您想通过Angular对时间进行格式化,您需要将API中的时间转换为这些时间之一


顺便说一句,您是否没有选择只删除从API获得的时间字符串的第二部分?

您也可以通过以下方式绑定它:

<span class="dt-time">{{ entity.created_at | utcTimeConversion: utcOffset : "MMM DD YYYY"}}</span>
{{entity.created_at|utcTimeConversion:utcOffset:“MMM DD YYYY”}
在这里,我还考虑了UTC偏移量和格式,这将确保移动设备根据设备的时区转换时间


干杯

我已经为您的解决方案创建了一个。这个项目可能会帮助你

谢谢你们的宝贵意见。感谢你的努力。我用管子把它修好了。它看起来有点复杂,但对于应用于多个查询来说非常有用。 使用在此处添加管道查询

datepipe.ts
从'@angular/core'导入{Pipe,PipeTransform};
@管道({name:'datepipe'})
导出类数据集实现PipeTransform{
转换(时间字符串:字符串){
让时间;
time=timeString.toString().match(/^([01]\d | 2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/)|[timeString];
如果(time.length>1){//如果时间格式正确
time=time.slice(1);//删除完整字符串匹配值
时间[5]=+时间[0]<12?'AM':'PM';//设置AM/PM
时间[3]='';
时间[4]='';
时间[0]=+时间[0]%12 | | 12;//调整小时数
}
返回time.join(“”);
}
}

'13:45:56',是字符串格式的,对吗?是的,是字符串格式的,不显示。我刚刚提供了它,但它作为一个输入框{{bus.departureTime}}请检查答案部分提供的stackblitz链接。谢谢你,感谢你的努力。
import { Pipe, PipeTransform } from '@angular/core';

@Pipe({ name: 'datepipe' })
export class DateSet implements PipeTransform {
  transform(timeString: string ) {
    let time;
    time = timeString.toString ().match (/^([01]\d|2[0-3])(:)([0-5]\d)(:[0-5]\d)?$/) || [timeString];
    if (time.length > 1) { // If time format correct
      time = time.slice (1);  // Remove full string match value
      time[5] = +time[0] < 12 ? 'AM' : 'PM'; // Set AM/PM
      time[3] = ' ';
      time[4] = ' ';
      time[0] = +time[0] % 12 || 12; // Adjust hours
    }
    return time.join ('');
  }
}