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

时间:2019-03-01 08:37:36

标签: angular ionic-framework ionic3

我正在以13:45:56的格式从API获取时间,我想将其显示为13:45(HH:MM)。谁能帮我?我尝试将Date管道与绑定标签一起使用,但是它将引发错误

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

5 个答案:

答案 0 :(得分:2)

谢谢你们的宝贵意见。感谢您的努力。我用管道固定了。它看起来有些复杂,但对于应用于多个查询确实很有用。 在此处添加管道查询

datepipe.ts

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 ('');
  }
}

答案 1 :(得分:1)

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

http://localhost/#access_token=TOKEN&token_type=Bearer&expires_in=604800&scope=identify

在这里,我还考虑了格式旁边的UTC偏移量,这将确保移动设备按照设备的时区转换时间。

干杯!

答案 2 :(得分:0)

HH-小时,24小时,前导零00 ... 23 h-小时,12小时1 ... 12 hh-小时,12小时,前导零01 ... 12

m-分钟1 ... 59 mm-分钟,前导零01 ... 59

所以您只需写HH:mm

  

EX:<ion-datetime display-format="HH:mm"></ion-datetime>

答案 3 :(得分:0)

Angular的DatePipe期望根据docs的日期:

  

.... a日期对象,数字(自UTC时代以来的毫秒数)或ISO字符串。

因此,如果要通过Angular格式化时间,则需要将时间从API转换为其中之一。

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

答案 4 :(得分:0)

我为您的解决方案创建了stackblitz。该项目可能会为您提供帮助。