Javascript 从使用时间字符串创建的momentjs对象返回日期对象或字符串
我已将此时间保存在sql server中:“12:45:00” 我需要在html时间选择器中显示此时间,该计时器希望时间如下所示: 计时器选择器指令:“ng模型”值必须为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日期对象意味着您
- 日期对象
- 自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”)并没有给我任何东西。。。