Javascript 从使用时间字符串创建的momentjs对象返回日期对象或字符串

Javascript 从使用时间字符串创建的momentjs对象返回日期对象或字符串,javascript,angularjs,momentjs,Javascript,Angularjs,Momentjs,我已将此时间保存在sql server中:“12:45:00” 我需要在html时间选择器中显示此时间,该计时器希望时间如下所示: 计时器选择器指令:“ng模型”值必须为 日期对象 自1970年1月1日或之后的毫秒数 表示RFC2822或ISO 8601日期的字符串 如何使用momentjs库将我的值绑定到时间选择器?如果web服务在其响应中以字符串形式返回日期,在大多数情况下,最好使用将其转换为日期对象,以便在JavaScript中更轻松地使用。使用本机JavaScript日期对象意味着您

我已将此时间保存在sql server中:“12:45:00”

我需要在html时间选择器中显示此时间,该计时器希望时间如下所示:

计时器选择器指令:“ng模型”值必须为

  • 日期对象
  • 自1970年1月1日或之后的毫秒数
  • 表示RFC2822或ISO 8601日期的字符串

如何使用momentjs库将我的值绑定到时间选择器?

如果web服务在其响应中以字符串形式返回日期,在大多数情况下,最好使用将其转换为日期对象,以便在JavaScript中更轻松地使用。使用本机JavaScript日期对象意味着您可以始终如一地直接绑定到模型,更容易地使用
$filter
s,操作日期和时间,而不必担心这里或那里的转换

此转换器在响应
$http
请求时返回的任何数据中查找ISO8601格式的日期,使用矩.js验证这些日期,并将其转换为JavaScript日期对象

$httpProvider.defaults.transformResponse.push(function (data) {
    /**
    * Converts ISO 8601 date strings returned by the web service into
    * JavaScript Date objects.
    * @param {Object} obj The server response
    * @return {Object}
    */
    var convertDateStringsToDates = function (obj) {
        // Matches format: 2014-07-23T00:00:00
        var regex = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d/;
        var name, value, match, dt;

        for (name in obj) {
            if (!obj.hasOwnProperty(name)) { continue; }

            value = obj[name];

            // Check for string properties which look like dates
            if (typeof value === 'string' && (match = value.match(regex))) {
                dt = moment(match[0]);

                // confirm parseable by Moment.js
                if (dt.isValid()) {
                    obj[name] = dt.toDate();
                }
            } else if (typeof value === 'object') {
                // Recurse into the object
                convertDateStringsToDates(value);
            }
        }

        return obj;
    };

    // Ignore things that are not objects
    return typeof data === 'object' ? convertDateStringsToDates(data) : data;
}); 
我找到了一个解决方案:

moment(endTime,"HH:mm").toDate();


通过这种方式,我只获取时间,并且隐式创建日期-我不需要它-

您不需要矩。js,只需使用date对象:
newdate(datetime)
。服务器上的时间应为datetime格式。我不想将服务器上的时间保存为datetime,因为这是不必要的。我只是有时间。做一件事(“08:30:59”)并没有给我任何东西。。。