Top-office11.ru

IT и мир ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Javascript количество дней между датами

Как получить количество дней между двумя датами в JavaScript?

Как получить количество дней между двумя датами в JavaScript? Например, учитывая две даты в полях ввода:

30 ответов

здесь и реализация datediff , как доказательство концепции для решения проблемы, представленной в вопросе. Он основан на том факте, что вы можете получить истекшие миллисекунды между двумя датами, вычитая их, что приводит их к их примитивному значению числа (миллисекунды с начала 1970 года).

вы должны знать, что» нормальные «API даты (без» UTC » в имени) работают в локальном часовом поясе браузера пользователя, поэтому в целом вы можете столкнуться с проблемами, если ваш пользователь находится в часовом поясе, который вы не ожидаете, и вашему коду придется иметь дело с переходами на летнее время. Вы должны внимательно прочитать документацию для объекта Date и его методов, а для чего-либо более сложного настоятельно рассмотреть возможность использования библиотеки, которая предлагает более безопасные и мощные API для манипулирования датой.

кроме того, для иллюстрации, фрагмент используется им доступ на window объект для краткости, но в производстве вы должны использовать стандартизированные API, такие как getElementById, или, что более вероятно, некоторые рамки пользовательского интерфейса.

на момент написания этой статьи только один из других ответов правильно обрабатывает переходы DST (летнее время). Вот результаты по системе, расположенной в Калифорнии:

хотя Math.round возвращает правильные результаты, я думаю, что это немного неуклюжим. Вместо этого, явно учитывая изменения смещения UTC, когда DST начинается или заканчивается, мы можем использовать точную арифметику:

объяснение

вычисления даты JavaScript сложны потому что Date объекты хранят время внутри в UTC, а не по местному времени. Например, 3/10/2013 12: 00 am Pacific Standard Time (UTC-08:00) хранится как 3/10/2013 8:00 AM UTC, а 3/11/2013 12:00 am Pacific Daylight Time (UTC-07:00) хранится как 3/11/2013 7:00 AM UTC. В этот день с полуночи до полуночи местное время составляет всего 23 часа в UTC!

хотя день по местному времени может иметь более или менее 24 часов, день в UTC всегда ровно 24 часа. 1 на daysBetween метод, показанный выше, использует этот факт, сначала вызывая treatAsUTC чтобы настроить оба местных времени до полуночи UTC, перед вычитанием и делением.

1. JavaScript игнорирует високосные секунды.

самый простой способ получить разницу между двумя датами:

вы получаете разницу дней (или NaN, если один или оба не могут быть проанализированы). Дата разбора дала результат в миллисекундах, и чтобы получить его днем, вы должны разделить его на 24 * 60 * 60 * 1000

Если вы хотите разделить его на дни, часы, минуты, секунды и миллисекунды:

вот мой переделанный вариант Джеймса версия:

Я рекомендую использовать момент.библиотека js (http://momentjs.com/docs/#/displaying/difference/). Он правильно обрабатывает летнее время и в целом отлично подходит для работы.

Я бы пошел вперед и возьмите эту небольшую утилиту и в ней вы найдете функции для этого для вас. Вот краткий пример:

значения даты в JS являются значениями datetime.

таким образом, прямые вычисления даты несовместимы:

например, нам нужно преобразовать de 2-ю дату:

метод может быть усекать мельницы в обе даты:

для расчета дней между 2 даты вы можете использовать следующий код.Даты я использую здесь 01 января 2016 по 31 декабря 2016

лучше избавиться от DST, Math.сейл, математика.пол и т. д. используя время UTC:

этот пример дает разницу 109 дней. 24*60*60*1000 один день в миллисекундах.

Как насчет использования formatDate из виджета DatePicker? Вы можете использовать его для преобразования дат в формате метки времени (миллисекунды с 01/01/1970), а затем выполнить простое вычитание.

я нашел этот вопрос, когда я хочу сделать некоторые вычисления на две даты, но дата имеет значение часов и минут, я изменил ответ @michael-liu в соответствии с моим требованием, и он прошел мой тест.

diff дней 2012-12-31 23:00 и 2013-01-01 01:00 должно равняться 1. (2-часовой) дифф дней 2012-12-31 01:00 и 2013-01-01 23:00 должно равняться 1. (46 час)

Я думаю, что решения не являются правильными 100% я бы использовал ceil вместо Пол, раунд будет работать, но это не правильно операцию.

можно рассчитать полную разницу дней доказательства между двумя датами, покоящимися на разных TZs, используя следующую формулу:

будьте осторожны, когда через миллисекунд.

на дата.методов gettime() возвращает миллисекунды и делаю математическая операция с миллисекундами требует включения

  • летнее время (DST)
  • проверка, имеют ли обе даты одинаковое время (часы, минуты, секунды, миллисекунды)
  • убедитесь, что поведение дней дифф требуется: 19 сентября 2016 года — 29 сентября 2016 года = 1 или 2 дня разница?

Работа с датой и временем с помощью Moment.js

Работа с датой и временем зачастую весьма обременительна. Я всегда считал, что отдельная JavaScript библиотека для манипуляции датами была бы очень полезной. Не так давно я познакомился с замечательной библиотекой Moment.js, позволяющей валидировать, парсить и управлять датами и временем.

Начинаем работу с Moment.js

Чтобы использовать Moment.js в браузере, скачайте скрипт и подключите его на странице с помощью тега script , как показано в следующем примере. Moment.js определяет глобальный объект moment , который может быть использован для доступа ко всему функционалу парсинга и манипуляции.

Форматирование дат

Ранее я конвертировал строки с датам в объекты Date , выбирая из него индивидуальные составляющие, и собирая их в единую строку. Moment.js упростил процесс конвертации дат в любой необходимый формат. Конвертация дат в различные форматы довольно проста, это показано в следующем примере:

moment() возвращает текущую дату и время, а format() конвертирует текущую дату и время в указанный формат. В данном примере дата содержит четырехсимвольный год, двухсимвольный месяц, и двухсимвольный день месяца, все разделено пробелами. Код в действии можно посмотреть на следующей демо-странице.

Валидация дат

Еще одну раздражающую задачу можно упростить с помощью Moment.js — задачу валидации дат. Чтобы проверить на правильность даты, просто передайте строку с датой вместе с форматом в объект moment , и вызовите метод isValid() . Этот метод возвращает true если дата верна, и false в противном случае. Ниже показан пример проверки, также можно просмотреть соответствующее демо.

В объекте, возвращенном функцией moment() есть ряд полезных флагов:

  • overflow — устанавливается, если возникло переполнение. Например, если указан 13 месяц или 32 день месяца.
  • invalidMonth — устанавливается, если передан неверный месяц.
  • empty — устанавливается, если переданная строка не содержит дату, которую можно разобрать
  • nillInput — устанавливается, когда передан null

Манипулирование датами

Существует ряд возможностей управления объектом moment . Например, вы можете прибавлять или вычитать дни, месяцы, года, и т.д. Это можно сделать с помощью методов add() и subtract() . Следующий пример показывает, как можно прибавить к дате семь дней, месяцев или недель.

То же самое с методом subtract() :

Сколько прошло времени с текущего момента

Еще одной распространенной задачей является определение количества времени, которое прошло между двумя датами. Для расчета разницы с текущей датой в Moment.js есть метод fromNow() . Вот простой пример, который проверит, сколько прошло времени с текущего момента:

Читать еще:  Как найти ошибку в экселе

Этот пример выведет “a fiew seconds ago” (несколько секунд назад). Если передать дату в объект moment , пример выведет, сколько прошло времени между текущей и указанной датой. Например, следующий код выведет “7 days ago” (7 дней назад)

Сколько времени прошло между двумя произвольными датами

Метод fromNow() используется для сравнения указанной даты с текущим временем. Это всего лишь особый случай метода from() , который сравнивает две произвольные даты. Ниже показан пример использования метода from() . Этот код выведет “in a day” (“в течении дня”). Код в действии можно посмотреть на демо-странице.

Вычисляем разницу между двумя датами

Moment.js предоставляет возможность вычисления разницы между двумя датами. ПО умолчанию разница считается в миллисекундах, но также может быть возвращена в днях, месяцах, годах и прочее. Для вычисления разницы воспользуйтесь методом diff() . Первым аргументом он принимает дату. Размерность промежутка может быть указана вторым аргументом. Если он не указан, то по умолчанию используются миллисекунды. Следующий пример и демо показывают использование метода diff() .

Сравнение дат

Moment.js также предоставляет методы для сравнения дат — isBefore() , isAfter() и isSame() . Соответственно своим названиям, они возвращают булево значение, если одна из дат была до, после, или же они равны. Пример использования isAfter() показан ниже.

Поддержка интернационализации

Moment.js также предоставляет ряд возможностей для поддержки других языков. Вы можете указать используемый язык глобально, или же для конкретного объекта moment . По умолчанию, Moment.js поддерживает английский язык. Если вам нужна поддержка другого языка, то нужно указать соответствующие значения в объекте настройки в moment.lang . Следующий пример, взятый из документации к Moment.js, как добавить поддержку французского языка.

Вот демонстрация приведенного кода.

Заключение

Moment.js — замечательная библиотека, упрощающая манипуляцию и валидацию дат и времени. Эта библиотека упрощает работу разработчикам приложений. В этой статье мы показали некоторые особенности библиотеки Moment.js, которые помогают в парсинге, валидации и манипуляции объектами даты/времени в браузере и приложениях Node.js. Для Moment.js также доступен ряд полезных плагинов, как ISO Calendar, Jalaali Calendar, и многих других, доступных на официальной странице плагина. Чтобы узнать о Moment.js больше, рекомендую обратиться к официальной документации.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://www.sitepoint.com/managing-dates-times-using-moment-js/
Перевел: Станислав Протасевич
Урок создан: 31 Мая 2014
Просмотров: 61436
Правила перепечатки

5 последних уроков рубрики «jQuery»

Анимация набора текста на jQuery

Сегодня мы бы хотели вам рассказать о библиотеке TypeIt — бесплатном jQuery плагине. С её помощью можно имитировать набор текста. Если всё настроить правильно, то можно добиться очень реалистичного эффекта.

Временная шкала на jQuery

jQuery плагин для создания временной шкалы.

Заметка: Перезагрузка и редирект на JavaScript

Быстрая заметка, где вы сможете найти парочку JS сниппетов для перезагрузки и перенаправления пользователей через JavaScript.

Рисуем диаграмму Ганта

jQuery плагин для создания диаграммы Ганта.

AJAX и PHP: загрузка файла

Пример того как осуществить загрузку файла через PHP и jQuery ajax.

javascript количество дней между датами

Вычисление количества дней между двумя датами в JavaScript требуется для использования объекта даты для любого вида расчета. Для этого сначала получите внутреннее значение миллисекунды даты, используя встроенную функцию JavaScript getTime () . Как только обе даты будут преобразованы, продолжайте, вычитая более позднюю из предыдущей, которая, в свою очередь, возвращает разницу в миллисекундах. Позднее окончательный результат можно рассчитать путем деления разницы (в миллисекундах) обеих дат на количество миллисекунд в одном дне.

Синтаксис:

Подход 1:

  • Определите две даты, используя новую Date () .
  • Рассчитать разницу во времени двух дат с помощью date2.getTime () — date1.getTime ();
  • Рассчитать нет. дней между двумя датами, разделите разницу во времени обеих дат на нет. миллисекунд в день (1000 * 60 * 60 * 24)
  • Напечатайте окончательный результат, используя document.write () .

Пример 1: Следующая программа JavaScript проиллюстрирует решение

На данный вопрос уже ответили:

Здравствуйте. В процессе работы возникли сложности с выводом количества разницы дней между датами введенными в два input type=»data», как делать разницу между тем что является строкой? Тип data, потому что при запуске страницы js подгружает сегодняшнюю дату и дату плюс 3 дня. А нужно сравнение между введенными, а не установленными, то есть вызов функции будет(логично) через onchange. Спасибо за наводки, надеюсь, объяснил нормально.

Отмечен как дубликат участниками jfs, Pavel Mayorov, Sergey Gornostaev, rjhdby, AseN 11 окт ’17 в 19:39 .

Подобный вопрос задавали ранее и на него уже получен ответ. Если представленные ответы не являются исчерпывающими, пожалуйста, задайте новый вопрос.

Как получить количество дней между двумя датами в JavaScript? Например, учитывая две даты в поле ввода:

36 ответов

346 Решение Miles [2009-02-12 23:43:00]

Вот быстрая и грязная реализация datediff , как доказательство концепции для решения проблемы, представленной в вопросе. Он полагается на то, что вы можете получить истекшие миллисекунды между двумя датами, вычитая их, что приводит их к их первообразному значению числа (миллисекунды с начала 1970 года).

Вы должны знать, что «обычные» API-интерфейсы даты (без «UTC» в имени) работают в локальном часовом поясе пользовательского браузера, поэтому, в общем, вы можете столкнуться с проблемами, если ваш пользователь находится в часовом поясе, ожидайте, и ваш код будет иметь дело с переходами на летнее время. Вы должны внимательно прочитать документацию для объекта Date и его методов, а для чего-то более сложного, настоятельно рекомендуем использовать библиотеку, которая предлагает более безопасные и мощные API для обработки дат.

Кроме того, для иллюстративных целей фрагмент использует кратность для именованного доступа к объекту window , но в процессе производства вы должны использовать стандартизированные API, такие как getElementById или, более вероятно, некоторые интерфейсы пользовательского интерфейса.

185 Michael Liu [2012-06-28 23:13:00]

На момент написания этой статьи, только один из других ответов правильно обрабатывает переходы DST (переход на летнее время). Вот результаты по системе, расположенной в Калифорнии:

Хотя Math.round возвращает правильные результаты, я думаю, что он несколько неуклюж. Вместо этого, явно учитывая изменения смещения UTC, когда DST начинается или заканчивается, мы можем использовать точную арифметику:

Описание

Расчеты с датой в JavaScript сложны, потому что Date объекты хранятся внутри внутри UTC, а не по местному времени. Например, 3/10/2013 12:00 AM Тихоокеанское стандартное время (UTC-08: 00) хранится как 3/10/2013 8:00 AM UTC и 3/11/2013 12:00 AM Pacific Daylight Time ( UTC-07: 00) хранится как 3/11/2013 7:00 UTC. В этот день полночь в полночь по местному времени составляет только 23 часа в UTC!

Хотя день в местное время может быть больше или меньше 24 часов, день в UTC всегда ровно 24 часа. 1 . Метод daysBetween , показанный выше, использует этот факт, сначала вызывая treatAsUTC , чтобы настроить оба локальных раза до полуночи UTC, прежде чем вычитать и делить.

Читать еще:  Javascript error cannot read property

1. JavaScript игнорирует секунды прыжка.

106 some [2009-02-13 04:50:00]

Самый простой способ получить разницу между двумя датами:

Вы получаете дни разницы (или NaN, если один или оба не могут быть проанализированы). Дата синтаксического анализа дала результат в миллисекундах, и чтобы получить его на день, вы должны разделить его на 24 * 60 * 60 * 1000

Если вы хотите, чтобы он делился на дни, часы, минуты, секунды и миллисекунды:

Вот моя рефакторинговая версия версии Джеймса:

Я рекомендую использовать библиотеку moment.js(http://momentjs.com/docs/#/displaying/difference/). Он правильно управляет летним временем и в целом отлично работает.

40 fuentesjr [2009-02-12 23:45:00]

Я бы пошел и захватил эту небольшую утилиту, и в ней вы найдете функции для этого. Вот краткий пример:

Как получить количество дней между двумя датами в JavaScript?

November 2018

387.8k раз

Как получить количество дней между двумя датами в JavaScript? Например, если две даты в полях ввода:

30 ответы

Даты в JS является DateTime значения.

Таким образом, прямые вычисления даты противоречивы:

Например, мы должны преобразовать де 2 дня:

метод может быть усечение мельницы в обе даты:

Я использовал ниже код, чтобы поэкспериментировать функциональность даты проводки для новостей post.I вычислить минуту или час или день или год на основе даты проводки и текущей даты.

Будьте осторожны при использовании миллисекунды .

Date.getTime () возвращает миллисекунды и делает математическую операцию с миллисекунд требуется включить

  • Переход на летнее время (DST)
  • проверка, если обе даты имеют одинаковое время (часы, минуты, секунды, миллисекунды)
  • убедитесь, что поведение дней дифф требуется: 19 сентября 2016 года — 29 сентября 2016 года = 1 или 2 дня разницы?

Пример из комментариев выше , является лучшим решением я нашел до сих пор https://stackoverflow.com/a/11252167/2091095 . Но использовать +1 к своему результату , если вы хотите , чтобы сосчитать все дни вовлеченных.

Для того, чтобы рассчитать дни между 2 указанными датами вы можете использовать следующие code.Dates я использую здесь 1 января 2016 и 31 декабря 2016

Я нашел этот вопрос, когда я хочу сделать некоторые Пересчитать на два дня, но дата есть часы и минуты значения, я изменил @ Михайло-Liu ответ «s, чтобы соответствовать моим требованиям, и оно прошло мое испытание.

Diff дней 2012-12-31 23:00 и 2013-01-01 01:00 должны быть равны 1. (2 часов) Diff дней 2012-12-31 01:00 и 2013-01-01 23:00 должен быть равно 1. (46 часов)

Bookmarklet версия других ответов, предлагающая на обе дату:

  1. Установка даты начала
  2. Установить дату завершения
  3. Вычислить разницу
  4. Преобразование миллисекунд до нескольких дней

Я думаю , что решения не исправить 100% Я хотел бы использовать CEIL вместо пола , вокруг будет работать , но это не является правильной операция.

если вы хотите иметь DateArray с датами, попробуйте следующее:

Лучшее решение по

Не обращая внимания на время часть

она возвращает 0, если оба даты одинаковы.

Это может быть не самое элегантное решение, но, кажется, ответить на вопрос, с относительно простой бит кода, я думаю. Разве вы не можете использовать что-то вроде этого:

Это предполагает, что вы передаете объекты даты в качестве параметров.

Простой способ расчета дней между двумя датами, чтобы удалить оба их компоненту времени т.е. установка часов, минут, секунды и миллисекунды до 0, а затем вычитая свое время и дайвинг оно с миллисекундами стоимости в один день.

Что об использовании FormatDate из DatePicker виджета? Вы можете использовать его для преобразования даты в формате метка времени (миллисекунд от 01/01/1970) , а затем сделать простое вычитание.

Если у вас есть две метки времени UNIX, вы можете использовать эту функцию (сделал немного более многословным для ясности):

Лучше избавиться от DST, Math.ceil, Math.Floor и т.д., используя UTC раз:

Этот пример дает разницу 109 дней. 24*60*60*1000 это один день в миллисекундах.

Самый простой способ получить разницу между двумя датами:

Вы получаете разностные дней (или NaN, если один или оба не может быть разобран). Дата разбора даваемое результат в миллисекундах и получить его в день вы должны разделить его на 24 * 60 * 60 * 1000

Если вы хотите разделить на дни, часы, минуты, секунды и миллисекунды:

Вот моя переработан версия Джеймса версии:

У меня только две временных меток в миллисекундах, так что я должен сделать некоторые дополнительные шаги с moment.js, чтобы получить дни между ними.

Вы можете использовать UnderscoreJS для форматирования и вычисления разницы.

На момент написания статьи, только один из других ответов корректно обрабатывает (DST летнего времени) переходы. Вот результаты по системе, расположенной в Калифорнии:

Несмотря на то, Math.round возвращает правильные результаты, я думаю , что это несколько неуклюжим. Вместо этого, явно учета изменений в UTC смещение , когда DST начинается или заканчивается, мы можем использовать точные арифметические:

объяснение

JavaScript вычисления даты коварны , поскольку Date объекты хранят раз внутри в UTC, а не местное время. Например, 3/10/2013 12:00 утра Стандартное тихоокеанское время (UTC-08: 00) хранится в 3/10/2013 8:00 UTC и 3/11/2013 12:00 AM Тихоокеанское летнее время ( UTC-07: 00) хранится в 3/11/2013 7:00 AM UTC. В этот день, с полуночи до полуночи по местному времени составляет всего 23 часов в UTC!

Хотя в день по местному времени может иметь более или менее чем за 24 часа, в день UTC всегда ровно 24 часов. 1 daysBetween способ , показанный выше , имеет преимущество этого факта первого вызова , treatAsUTC чтобы настроить как местное время до полуночи UTC перед вычитанием и разделяющие.

1. JavaScript игнорирует високосные секунды.

Как получить количество дней между двумя датами в JavaScript?

Как получить количество дней между двумя датами в JavaScript? Например, даны две даты в полях ввода:

25 Ответов

Вот быстрая и грязная реализация datediff , как доказательство концепции для решения проблемы, представленной в вопросе. Он основан на том факте, что вы можете получить затраченные миллисекунды между двумя датами, вычитая их, что приводит к их примитивному числовому значению (миллисекунды с начала 1970 года).

Вы должны знать, что «normal» дата APIs (без «UTC» в имени) работают в локальном timezone браузера пользователя, так что в целом вы можете столкнуться с проблемами, если ваш пользователь находится в timezone, что вы не ожидаете,и ваш код будет иметь дело с переходами на летнее время. Вы должны внимательно прочитать документацию по объекту Date и его методам, а для чего-либо более сложного настоятельно рассмотреть возможность использования библиотеки, которая предлагает более безопасный и мощный APIs для манипулирования датой.

Кроме того, в целях иллюстрации фрагмент кода использует именованный доступ к объекту window для краткости , но в производстве вы должны использовать стандартизированные APIs, такие как getElementById, или, что более вероятно, некоторые фреймворки UI.

На момент написания этой статьи только один из других ответов правильно обрабатывает переходы DST (летнее время). Вот результаты по системе, расположенной в Калифорнии:

Хотя Math.round возвращает правильные результаты, я думаю, что это несколько неуклюже. Вместо этого, явно учитывая изменения в смещении UTC, когда DST начинается или заканчивается, мы можем использовать точную арифметику:

Объяснение

Вычисления даты JavaScript сложны, потому что объекты Date хранят время внутри объекта UTC, а не местное время. Например, 3/10/2013 12:00 утра по Тихоокеанскому стандартному времени (UTC-08:00) хранится как 3/10/2013 8:00 утра по Гринвичу, и 3/11/2013 12:00 утра по Тихоокеанскому летнему времени (UTC-07:00) хранится как 3/11/2013 7:00 утра UTC. В этот день с полуночи до полуночи по местному времени остается всего 23 часа в UTC году!

Хотя день по местному времени может иметь более или менее 24 часов, день в UTC-это всегда ровно 24 часа. 1 метод daysBetween , показанный выше, использует этот факт, сначала вызывая treatAsUTC , чтобы настроить оба местных времени на полночь UTC, прежде чем вычитание и деление.

1. JavaScript игнорирует високосные секунды.

Самый простой способ получить разницу между двумя датами:

Вы получаете разницу дней (или NaN, если один или оба не удалось разобрать). Дата разбора дала результат в миллисекундах и чтобы получить его днем вам нужно разделить его на 24 * 60 * 60 * 1000

Если вы хотите разделить его на дни, часы, минуты, секунды и миллисекунды:

Вот мой переделанный вариант Джеймса:

Я рекомендую использовать библиотеку moment.js (http://momentjs.com/docs / # / displaying / difference/). Он правильно обрабатывает летнее время и в целом отлично подходит для работы.

Я бы пошел вперед и захватил эту небольшую утилиту , и в ней вы найдете функции для этого для вас. Вот вам короткий пример:

  1. Установить дату начала
  2. Установить конечную дату
  3. Рассчитать разницу
  4. Преобразование миллисекунд в дни

Значения даты в JS — это значения datetime.

Таким образом, прямые вычисления даты несовместимы:

например нам нужно преобразовать дату de 2nd:

этот метод может быть усечен мельницами в обе даты:

Лучше избавиться от DST, Math.ceil, Math.floor и т. д. используя UTC раза:

Этот пример дает разницу в 109 дней. 24*60*60*1000 — это один день в миллисекундах.

Для расчета дней между 2 заданными датами вы можете использовать следующие code.Dates я использую здесь Jan 01 2016 и Dec 31 2016

Можно рассчитать полную разницу дней доказательства между двумя датами, лежащими в разных TZs, используя следующую формулу:

Я думаю, что решения не являются правильными 100% я бы использовал ceil вместо пола, круглый будет работать, но это не правильная операция.

Я нашел этот вопрос, когда я хочу сделать некоторые вычисления на двух датах, но дата имеет значение часов и минут, я изменил ответ @michael-liu, чтобы соответствовать моим требованиям, и он прошел мой тест.

diff дня 2012-12-31 23:00 и 2013-01-01 01:00 должны равняться 1. (2-часовой) diff дня 2012-12-31 01:00 и 2013-01-01 23:00 должны равняться 1. (46 часов)

А как насчет использования виджета formatDate from DatePicker? Вы можете использовать его для преобразования дат в формат timestamp (миллисекунды с момента 01/01/1970), а затем сделать простое вычитание.

Возможно, это не самое элегантное решение, но мне кажется, что оно отвечает на вопрос относительно простым кусочком кода. Разве ты не можешь использовать что-то вроде этого:

Это предполагает, что вы передаете объекты даты в качестве параметров.

Будьте осторожны при использовании миллисекунд .

date.getTime() возвращает миллисекунды и выполнение математической операции с миллисекундами требует включения

  • Переход На Летнее И Зимнее Время (DST)
  • проверка, совпадают ли обе даты по времени (часы, минуты, секунды, миллисекунды)
  • убедитесь, какое поведение дней diff требуется: 19 сентября 2016 — 29 сентября 2016 = Разница в 1 или 2 дня?

Пример из комментария выше — это лучшее решение, которое я нашел до сих пор https://stackoverflow.com/a/11252167/2091095 . Но используйте +1 к его результату, если вы хотите, чтобы считать все вовлеченные дни.

У меня была такая же проблема в Angular году. Я делаю копию, потому что иначе он перепишет первое свидание. Обе даты должны иметь время 00:00:00 (очевидно)

Если у вас есть две метки времени unix, вы можете использовать эту функцию (сделанную немного более подробной для ясности):

Я использовал приведенный ниже код, чтобы поэкспериментировать с функциональностью даты публикации для новостного сообщения. Я вычисляю минуту, час, день или год на основе даты учета и текущей даты.

если вы хотите иметь DateArray с датами попробуйте это:

Простой способ вычислить дни между двумя датами состоит в том, чтобы удалить оба их компонента времени, т. е. установить часы, минуты, секунды и миллисекунды в 0, а затем вычесть их время и нырнуть в него с миллисекундами, равными одному дню.

Похожие вопросы:

Возможный Дубликат : Как найти количество дней между двумя датами с помощью php Соберите количество дней между двумя датами, например 02/11/2012 И между ними 02/12/2012 В результате получается.

Мне нужно рассчитать количество дней между двумя датами. Я должен проверить коды, приведенные по этой ссылке Как рассчитать количество дней между двумя датами, используя JavaScript? . В этом.

Я хочу сделать то же самое, что и Как я могу получить количество дней между двумя датами в JavaScript? но я хочу сделать то же самое в этом формате даты: 2000-12-31 .

Я хочу получить общее количество конкретных дней между двумя датами. Я хочу сделать одну функцию, которая возвращает общее количество конкретных дней. Например: если я передам понедельник, дату.

я пытаюсь получить количество дней между двумя заданными датами, но при попытке таким образом его не дают количество дней. $pur_dt = date_create(‘2015-08-03’); $todate = date_create(date(‘Y-m-d’));.

Мне нужно количество рабочих дней между датами. Например , если у нас есть 01-01-2012 и 20-01-2012 , я хочу получить количество рабочих дней между этими двумя датами, используя T-SQL.

Я вижу, что на этот вопрос был дан ответ для Java , JavaScript и PHP , но не C#. так, как можно было бы вычислить количество дней между двумя датами в C#?

Я хочу иметь возможность рассчитать количество дней между двумя датами. У меня есть выпадающее меню, которое выбирает день (1-31), месяц (1-12) и год (2011-2012), а затем он отправляется в базу.

У меня есть две даты в формате dd/mm/yyyy. Как рассчитать количество дней между этими двумя датами в javascript/jquery. Пример: дата ФОМ 20/06/2000, на сегодняшний день является 16/08/2011

Мне нужно рассчитать количество рабочих дней (рабочих дней) между двумя заданными датами. Рабочие дни — это все дни недели, кроме субботы и воскресенья. Я не рассматриваю отпуск в этом графе. Как.

Ссылка на основную публикацию
Adblock
detector