Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Angular和Javascript过滤器转换特定军事时间_Javascript_Angularjs_Date - Fatal编程技术网

使用Angular和Javascript过滤器转换特定军事时间

使用Angular和Javascript过滤器转换特定军事时间,javascript,angularjs,date,Javascript,Angularjs,Date,我知道我很多时候都喜欢 01:45 //and 15:00 我猜那个日期在军事上是HH:MM 虽然我见过一些高级函数然后解析句子,甚至有些函数使用秒,比如HH:MM:SS,但我想要一种简单而准确的方法来获取HH:MM 所以我假设15:00就是3:00 下面的此函数将不起作用,因为我已经有了“:” 那么下面假设HHMM对吗?当我相信我需要解析HH:MM时 var getTravelTimeFormatted = function (str) { var hours = Math.trun

我知道我很多时候都喜欢

01:45
//and
15:00
我猜那个日期在军事上是HH:MM

虽然我见过一些高级函数然后解析句子,甚至有些函数使用秒,比如HH:MM:SS,但我想要一种简单而准确的方法来获取HH:MM

所以我假设15:00就是3:00

下面的此函数将不起作用,因为我已经有了“:” 那么下面假设HHMM对吗?当我相信我需要解析HH:MM时

var getTravelTimeFormatted = function (str) {
    var hours = Math.trunc(str / 60),
        minutes = str % 60;
        return hours + ':' + minutes;
    };
更新

好吧,我假设15:00就是3:00,对吗

因此,我去掉了传入的“:”并将其添加回去 问题是结果是
25.0
,这意味着什么

var getTravelTimeFormatted = function (str) {
    str = str.replace(/:/g,'');
    var hours = Math.trunc(str / 60),
    minutes = str % 60;
    return hours + ':' + minutes;
};

console.log(getTravelTimeFormatted('15:00'));

给定一个字符串HH:MM,你可以拆分然后减去12小时。这里有一个简单的解决方案,它不会检查无效的输入

function TwelveHourFormat(time) {
    var dtParts = time.split(":");

    var hours = dtParts[0];
    var minutes = dtParts[1];
    var suffix = "AM";

    if (hours > 12) {
        hours = hours - 12;
        suffix = "PM";
    }
    else if (hours == "00") {
        hours = 12;
        suffix = "AM";
    }
    else if (hours == "12") {
        suffix = "PM";
    }

    return (hours + ":" + minutes + " " + suffix);
}

给定一个字符串HH:MM,你可以拆分然后减去12小时。这里有一个简单的解决方案,它不会检查无效的输入

function TwelveHourFormat(time) {
    var dtParts = time.split(":");

    var hours = dtParts[0];
    var minutes = dtParts[1];
    var suffix = "AM";

    if (hours > 12) {
        hours = hours - 12;
        suffix = "PM";
    }
    else if (hours == "00") {
        hours = 12;
        suffix = "AM";
    }
    else if (hours == "12") {
        suffix = "PM";
    }

    return (hours + ":" + minutes + " " + suffix);
}
这是一个复制品。Jasen的回答很好,比复制的更简洁,但函数可以更简洁:

/*将24小时小时小时:毫米格式的时间转换为12小时小时:毫米ap格式
**@param{string}time-以hh:mm格式(例如14:30)
**@以12小时格式返回{string}时间(例如下午2:30)
*/
函数到12小时(时间){
var b=时间分割(/\D/);
返回(b[0]%12 | | 12)+':'+b[1]+
(b[0]这是的副本。Jasen的答案很好,比副本更简洁,但函数可以更简洁:

/*将24小时小时小时:毫米格式的时间转换为12小时小时:毫米ap格式
**@param{string}time-以hh:mm格式(例如14:30)
**@以12小时格式返回{string}时间(例如下午2:30)
*/
函数到12小时(时间){
var b=时间分割(/\D/);
返回(b[0]%12 | | 12)+':'+b[1]+

(b[0]或24小时制。哦,有趣。::我发布的功能,即使我使用它并通过1500,我最终得到25:0,但不是我想要的。你想把24小时制转换成12小时制吗?我想这就是我需要做的。所以你有一个字符串“15:00”你想转换成12小时格式的时间?还是24小时格式的时间?哦,有趣的是:/我发布的那个函数,即使我使用它并通过1500次,我最终还是得到了25:0,这不是我想要的。你想把24小时格式转换成12小时格式吗?我想这就是我需要做的。所以你有一个字符串“15:00”你想转换成12小时格式的时间吗?我在玩一个我发现是在传递一个日期…以月-日-年-时间和试图摆脱m/d/y是一种痛苦,你的作品很棒thx!我在玩一个我发现是在传递一个日期…以月-日-年-时间和试图摆脱m/d/y是一种痛苦痛苦,你的作品伟大的thx!