我这一次在SQL Server存储:'12:45:00'从时间字符串创建一个momentjs对象返回一个日期对象或字符串
我需要显示这次是在HTML timepicker其希望在以下时间:
Timepicker指令: “NG-模式” 的值必须是
- Date对象,
- 因为01.01.1970毫秒数或
- 代表RFC2822或ISO 8601日期的字符串
如何使用可以将我的值绑定到timepicker的momentjs库?
我这一次在SQL Server存储:'12:45:00'从时间字符串创建一个momentjs对象返回一个日期对象或字符串
我需要显示这次是在HTML timepicker其希望在以下时间:
Timepicker指令: “NG-模式” 的值必须是
如何使用可以将我的值绑定到timepicker的momentjs库?
我找到了一个解决方案:
moment(endTime,"HH:mm").toDate();
这样,我得到的只是时间和日期是隐式创建 - 我不需要 -
如果您的Web服务在响应中以字符串的形式返回日期,在大多数情况下,最好使用$http
transformer将它们转换为Date对象,您可以更轻松地在JavaScript中使用它们。使用本地JavaScript日期对象意味着您可以始终如一地直接绑定到模型,更轻松地使用$filter
,并且操作日期和时间,而不必担心这里或那里的转换。
该变换器在对$http
请求的响应中返回的任何数据中查找ISO8601格式的日期,并使用Moment.js验证它们并将它们转换为JavaScript Date对象。
$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.js,只需使用Date对象:'new Date(datetime)'。服务器上的时间应该是日期时间格式。 – esp 2014-10-30 00:30:36
我不想将日期时间保存在服务器上,因为它是不必要的。我只有时间。做这个时刻(“08:30:59”)不给我任何东西...... – HelloWorld 2014-11-01 12:14:53