Ho una funzione che ottiene il numero di giorni fino ad oggi. Funziona comunque, sto usando moment.js per scrivere e formattare la data dai dati JSON e penso che stia causando un conflitto. C'è un modo per fare la stessa cosa usando moment.js?Conta giorni fino a oggi moment.js
Questo è il JavaScript di lavoro: http://jsfiddle.net/infatti/XeqPT/
// Count days due
function daysUntil(year, month, day) {
var now = new Date(),
dateEnd = new Date(year, month - 1, day), // months are zero-based
days = (dateEnd - now)/1000/60/60/24; // convert milliseconds to days
return Math.round(days);
}
Come può la stessa cosa essere fatto utilizzando moment.js?
Se interessato, ecco come sto inserendo la data in cui non funziona.
<span class="due-date" data-bind="textualDate: DueDate"></span>
ko.bindingHandlers.textualDate = {
update: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var valueUnwrapped = ko.utils.unwrapObservable(valueAccessor());
var textContent = moment(valueUnwrapped).format("MM/DD/YYYY");
ko.bindingHandlers.text.update(element, function() { return textContent; });
}
};
* "Sto usando moment.js per scrivere e formattare la data dai dati JSON e penso che stia causando un conflitto." * Perché pensi che? Il calcolo della data e l'output sono operazioni completamente indipendenti. –
@ alex23 Ci sono molti motivi per utilizzare una libreria di date. La matematica data/ora è brutta e piena di casi limite (durata del mese variabile, fusi orari, ora legale, anni bisestili). –
Quando inserisco manualmente la data in html, funziona. Quando collego i dati all'html, non funziona. – simple