我這一次在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