使用AngularJS / jQuery将24小时时间变量转换为12小时时间

时间:2015-04-24 13:37:51

标签: javascript jquery angularjs

我从数据库中获取一个24小时时间字符串的值。 我正在寻找一种方法,使用angularJS或jQuery将此字符串更改为12小时的时钟。

我目前无法对后端(JAVA)或数据库进行任何代码更改。

var offTime = "17:25:11";

我需要它显示为:"5:25:11"

请帮忙!

3 个答案:

答案 0 :(得分:3)

您需要将值拆分为:,在通过模运算符运行第一个值后重建它。试试这个:



var offTime = "17:25:11".split(':');
offTime[0] = offTime[0] % 12;
var output = offTime.join(':');

alert(output);




答案 1 :(得分:3)

根据Kabb5的回答,我添加了一些逻辑来确定AM / PM并检查0,因此0 AM不是一个选项。

angular.module('simpleAppFilters').filter('twentyFourToTwelve', function () {
return function (inputTime) {        
    inputTime = inputTime.toString(); //value to string for splitting
    var splitTime = inputTime.split(':');
    var ampm = (splitTime[0] >= 12 ? ' PM' : ' AM'); //determine AM or PM 
    splitTime[0] = splitTime[0] % 12;
    splitTime[0] = (splitTime[0] == 0 ? 12 : splitTime[0] ); //adjust for 0 = 12

    return splitTime.join(':') + ampm;
};
});

答案 2 :(得分:2)

创建一个这样的过滤器:

app.filter('twentyFourToTwelve ', function () {
  return function (inputTime) {
    var splitTime = inputTime.split(':');
    splitTime[0] = splitTime[0] % 12;

    return splitTime.join(':');        
  };
});

然后在你的装订中:

{{ myTime | twentyFourToTwelve }}