在Ionic 3上格式化时间值

时间:2018-09-05 19:56:24

标签: ionic-framework time formatting ionic3 hour

我需要找到格式化时间的方法,我尝试过用角管,但这适用于日期类型值。

我需要能够将秒数删除为所示小时数的值,例如:

1:45:00更改为下午1:45或下午1:45。 M。

4 个答案:

答案 0 :(得分:2)

使用Moment.js。在这里您可以转换为任何时间格式

1-通过NPM安装:

npm install moment -S

2-导入您的Typescript文件:

import moment from 'moment';

3-在您的Typescript文件中使用:

let dateString = "22-04-2017"; //whatever date string u have
let dateObject = moment(dateString, "DD-MM-YYYY").toDate();

答案 1 :(得分:0)

如果始终都是这种格式,则可以使用JavaScript / TypeScript处理字符串。

  myTime = '1:45:00'

  showTime() {
    var result = 
    this.myTime.substring(
      0, (this.myTime.length - 3) )+ ' pm';
    console.log(result);
  }

如果遇到更复杂的情况,可以使用Momentjs之类的库。 https://momentjs.com/

在这里您可以在文档中找到所需的内容。 https://momentjs.com/docs/#/parsing/string-format/

答案 2 :(得分:0)

假设您的日期是Date的实例,则可以使用预定义格式shortTime或自定义格式的内置angular date pipe

<p> {{date | date:'shortTime'}} </p>

<p> {{date | date:'hh:mm'}} </p>

shortTime等效于'h:mm a',并会产生类似上午9:03的结果。

自定义格式'hh:mm'将产生类似于09:03的结果。


如果您的日期只是一个字符串,则可以使用内置的slice pipe删除要删除的部分:

<p> {{"1:45:00" | slice:0:4}} </p>

哪个将输出1:45。

另请参见此Stackblitz

无论如何,我还是建议在裸字符串上使用真实的Date对象或Moment.js objects,这使事情变得容易得多,尤其是当您开始比较日期或使用日期进行计算时。

答案 3 :(得分:0)

you can use a custom pipe 

transform(timeString: string) {
    let time = timeString.slice(0, 5);
    let current_hour = timeString.slice(0, 2);
    if (parseInt(current_hour) > 12) {
      time = time + " PM";
    } else {
      time = time + " AM";
    }
    return time;
  }