У меня есть две даты ввода, взятые из элемента управления выбора даты. Я выбрал дату начала 2/2/2012 и дату окончания 2/7/2012. Я написал следующий код для этого.
Я должен получить результат как 6, но я получаю 5.
function SetDays(invoker) {
var start = $find('<%=StartWebDatePicker.ClientID%>').get_value();
var end = $find('<%=EndWebDatePicker.ClientID%>').get_value();
var oneDay=1000 * 60 * 60 * 24;
var difference_ms = Math.abs(end.getTime() - start.getTime())
var diffValue = Math.round(difference_ms / oneDay);
}
Может кто-нибудь сказать мне, как я могу получить точную разницу?
javascript
Вайбхав Дешмукх
источник
источник
Ответы:
http://momentjs.com/ или https://date-fns.org/
Из документа Момент:
или включить начало:
Удары возиться с отметками времени и часовых поясов вручную.
В зависимости от вашего конкретного случая использования вы можете
a/b.startOf('day')
и / илиa/b.endOf('day')
чтобы заставить diff быть включающим или исключающим на «концах» (как предложено @kotpal в комментариях).true
чтобы получить точку диф плавающую , который вы можетеMath.floor
,Math.ceil
или поMath.round
мере необходимости.'seconds'
вместо,'days'
а затем деления на24*60*60
.источник
Math.abs(a.diff(b, 'days'))+1
startOf
мутирует момент. Если ты этого не хочешь, тогда делайa.clone().startOf('day').diff(b.clone().startOf('day'))
.Если вы используете moment.js, вы можете сделать это легко.
Если вы хотите найти разницу между заданной датой и текущей датой в количестве дней (игнорируя время), обязательно удалите объект времени с текущей даты, как показано ниже
Чтобы найти разницу между данной датой и текущей датой в количестве дней
источник
current.diff(given, 'days')
так, чтобы округлить.1
потерян aПытаться:
источник
Попробуйте это с помощью moment.js (довольно просто вычислить операции с датой в javascript)
firstDate.diff (secondDate, 'days', false);// true | false для значения дроби
Результат даст вам количество дней в целых числах.
источник
Также вы можете использовать этот код: moment ("yourDateHere", "YYYY-MM-DD"). FromNow (). Это вычислит разницу между сегодняшним днем и предоставленной вами датой.
источник
Это работает для меня:
источник
Я сделал быструю функцию многократного использования в ES6, используя Moment.js.
источник
MVC у меня есть два ввода текста 1: номер дня 2: выбор времени и даты
Javascipt
рассчитать число по дате использования
рассчитать количество дней между двумя датами использования
не забудьте добавить http://momentjs.com/
источник