какое сравнение двух дат правильное js

Сравнить две даты с JavaScript

может кто-нибудь предложить способ сравнить значения две даты больше чем, меньше чем, и не в прошлом, используя JavaScript? Значения будут поступать из текстовых полей.

30 ответов

чтобы быть ясным, просто проверка равенства непосредственно с объектами данных не будет работать

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

самый простой способ сравнить даты в javascript-сначала преобразовать его в объект Date, а затем сравнить эти объекты date.

ниже вы найдете объект с тремя функциями:

даты.сравните (a, b)

даты.эти (d,начало,конец)

возвращает логическое значение или NaN:

даты.преобразовать

используется другими функциями для преобразования входных данных в объект date. Вход может быть

сравнить и > как обычно, но все, что связано = должны использовать + префикс. Вот так:

надеюсь, что это помогает!

операторы > >= можно использовать для сравнения дат JavaScript:

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

и Date.getTime() и Date.valueOf() возвращает количество миллисекунд с 1 января 1970 года, 00: 00 UTC. Оба!—12— функция> и унарные + оператор вызова valueOf() методы за кулисами.

на сегодняшний день самый простой способ-вычесть одну дату из другой и сравнить результат.

сравнение времени в JavaScript довольно легко. В JavaScript встроенный система сравнения времени что делает его настолько легким сделать сравнение.

просто выполните следующие действия для сравнения значения 2 дат, например, у вас есть 2 входа, каждый из которых имеет значение даты в String а вы их сравните.

1. у вас есть 2 строковых значения, которые вы получаете от входа, и вы хотите их сравнить, они, как показано ниже:

3. теперь просто сравните их, используя > >=

какое сравнение двух дат правильное js

сравнить только день (игнорируя компонент времени):

Если вы создаете Javascript дата объект, вы можете просто вычесть их, чтобы получить разницу в миллисекундах (edit: или просто сравнить их):

КОРОТКИЙ ОТВЕТ:

вот функция, которая возвращает , если from dateTime > to dateTime демонстрация в действии

объяснение

так как теперь у вас есть как datetime в типе номера вы можете сравнить их с любыми операциями сравнения

затем

если вы знакомы с C# пользовательская строка формата даты и времени эта библиотека должна делать то же самое и помогать вам форматировать дату и время dtmFRM если вы передаете в строке времени даты или формате unix

использование

все, что вам нужно сделать, это передать любой из этих форматов усмирил в библиотеке

вы используете этот код,

чтобы добавить еще одну возможность ко многим существующим вариантам, вы можете попробовать:

. что, кажется, работает для меня. Конечно, вы должны убедиться, что обе даты не определено.

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

. если вы предпочитаете, чтобы они не были равны.

Примечание-Сравнить Только Часть Даты:

когда мы сравниваем две даты в JavaScript. На это также уходят часы, минуты и секунды.. Поэтому, если нам нужно только сравнить только дату, это подход:

теперь: if date1.valueOf()> date2.valueOf() будет работать как шарм.

Via момент.js

метод возвращает 1, Если dateTimeA больше dateTimeB

метод возвращает 0, если dateTimeA равна dateTimeB

для сравнения двух дат мы можем использовать date.библиотека JS JavaScript, которую можно найти по адресу:https://code.google.com/archive/p/datejs/downloads

и с помощью Date.compare( Date date1, Date date2 ) метод и он возвращает что означает следующий результат:

-1 = date1-это lessthan date2.

1 = дата2 дата1 больше.

для создания дат из свободного текста в Javascript вам нужно разобрать его на объект Date ().

вы можете использовать Date.parse (), который принимает свободный текст, пытается преобразовать его в новую дату, но если у вас есть контроль над страницей, я бы рекомендовал использовать HTML-поля выбора вместо этого или выбор даты, такой как Юи календарь управлением или jQuery интерфейса управления datepicker.

Как только у вас есть дата, как указали другие люди, Вы можете использовать простая арифметика, чтобы вычесть даты и преобразовать его обратно в число дней, разделив число (в секундах) на количество секунд в день (60*60*24 = 86400).

скажем, вы получили объекты даты A и B, получите их значение времени EPOC, а затем вычитаете, чтобы получить разницу в миллисекундах.

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

улучшенная версия кода, опубликованная «some»

Если ваш формат даты следующий, вы можете использовать этот код:

Он будет проверять, является ли 20121121 число больше, чем 20121103 или нет.

Я обычно в магазине Dates as timestamps(Number) в базах данных.

когда мне нужно сравнить, я просто сравниваю между этими метками времени или

преобразовать его в объект Date, а потом сравни с > при необходимости.

обратите внимание, что == или === не работает должным образом, если ваши переменные не являются ссылками на тот же объект даты.

сначала преобразуйте эти объекты даты в метку времени (число), а затем сравните равенство их.

даты в метку

отметка времени на сегодняшний день

ОСТЕРЕГАЙТЕСЬ ЧАСОВОГО ПОЯСА

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

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

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

теперь вы можете напрямую сравнить свои объекты date, как и другие ответы предложили.

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

и полностью избегать всего остального, особенно.

используйте этот код для сравнения даты с помощью javascript.

Источник

Сравните две даты с JavaScript

Может ли кто-нибудь предложить способ сравнения значений двух дат больше, меньше, а не в прошлом с использованием JavaScript? Значения будут поступать из текстовых полей.

29 ответов

Чтобы быть понятным, просто проверка на равенство непосредственно с объектами даты не будет работать

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

Вы используете этот код,

Если следующий формат даты, вы можете использовать этот код:

Он проверит, является ли число 20121121 больше 20121103 или нет.

Я обычно храню Dates как timestamps(Number) в базах данных.

Когда мне нужно сравнить, я просто сравниваю среди этих временных меток или

Обратите внимание, что == или === не работает должным образом, если ваши переменные не являются ссылками на один и тот же объект Date.

Сначала преобразуйте эти объекты Date в отметку времени (число), а затем сравните их равенство.

Дата к метке времени

Отметка времени до даты

ОСТЕРЕГАЙТЕСЬ ВРЕМЕНИ

Теперь вы можете напрямую сравнивать объекты даты, как предлагают другие ответы.

Допустим, вы получили объекты даты A и B, получите их значение времени EPOCH, затем вычтите, чтобы получить разницу в миллисекундах.

Надеюсь это поможет!

Если вы создаете Javascript объект Date, вы можете просто вычесть их, чтобы получить разница в миллисекундах (отредактируйте или просто сравните их):

Улучшенная версия кода, размещенная «некоторыми»

Источник

Строковое сравнение дат на JavaScript

Пусть у нас есть две даты в следующем текстовом формате:

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

Каким образом происходит сравнение этих дат? Дело в том, что наши даты представляют собой строки и JavaScript сравнивает их как строки. То есть он сначала сравнивает первые символы двух дат: если они одинаковы, то JavaScript сравнивает вторые символы, и так далее, пока не найдет отличия. Благодаря тому, что в нашем формате даты сначала расположен год, потом месяц, а потом день, и возможно такое сравнение.

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

Или вообще убрать разделители:

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

Напишите код, который сравнит две приведенные ниже даты и выведет сообщение о том, какая из них больше:

Дата без года

Необязательно сравнивать года. Дата может состоять просто из месяца и дня:

Напишите код, который сравнит две приведенные ниже даты и выведет сообщение о том, какая из них больше:

Попадание даты в промежуток

Пусть есть три промежутка: с 1 января по 8 марта, с 9 марта по 17 июня, с 18 июня по 31 декабря. Пусть у нас также есть какая-то дата, содержащая месяц и день. Давайте определим, в какой промежуток попадает эта дата:

Дана дата, содержащая месяц и день. Определите знак Зодиака, на которую приходится эта дата.

Источник

Как сравнивать даты в Javascript: практический пример.

С помощью Javascript можно провести сравнение между двумя датами, то есть, простыми словами, проверить, равны ли две даты или одна больше или меньше другой.

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

Рассмотрим практический пример – форму для бронирования отеля, в которой пользователь должен выбрать дату заселения и дату выезда.

Поскольку мы работаем с датами, необходимо иметь возможность проводить сравнения на основе параметров, отправленных через форму, поэтому нашими опорными значениями будут день въезда (имя поля: checkin), день освобождения номера (checkout) и сегодняшняя дата (today).

В нашей гипотетической форме даты вставляются в формате с использованием дефиса в качестве разделителя:

Переменные для работы будут следующими:

Теперь, когда мы создали переменные со значениями, переданными формой, мы можем перейти к работе с ними: датами можно управлять как массивами:

“Разбив” наши “массивы” на основании выбранного разделителя, мы можем переместить их значения, используя стандартный формат для дат, в котором год предшествует месяцу и дню:

Теперь JavaScript сможет “распознать” новые переменные как даты, поэтому мы воспользуемся функцией getTime():

На данном этапе все, что нам нужно сделать, это указать сравнения, которые будут производиться, например, по параметрам, отправленным формой:

Используя этот пример в качестве основы, вы можете применять его принципы в более сложных проектах и условиях.

Источник

Сравните две даты с JavaScript

Может кто-нибудь предложить способ сравнения значений двух дат больше, меньше, а не в прошлом с использованием JavaScript? Значения будут поступать из текстовых полей.

ОТВЕТЫ

Ответ 1

чтобы быть понятным, просто проверка на равенство непосредственно с объектами даты не будет работать

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

Ответ 2

Ниже вы найдете объект с тремя функциями:

dates.compare(а, б)

date.inRange (d, начало, конец)

Возвращает логическое значение или NaN:

dates.convert

Используется другими функциями для преобразования их ввода в объект даты. Вход может быть

Ответ 3

Надеюсь, это поможет!

Ответ 4

Реляционные операторы > >= могут использоваться для сравнения дат JavaScript:

Вы можете сравнить значение дат равенства с помощью любого из этих методов:

Оба Date.getTime() и Date.valueOf() возвращают число миллисекунд с 1 января 1970 года, 00:00 по UTC. Обе функции Number и унарный оператор + вызывают методы valueOf() за кулисами.

Ответ 5

Ответ 6

Сравнение дат в JavaScript довольно просто. JavaScript имеет встроенную систему сравнения для дат, которая позволяет легко сравнивать.

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

1. У вас есть 2 строковых значения, которые вы получаете от ввода, и вы хотели бы их сравнить, они приведены ниже:

3. Теперь просто сравнить их, используя > >=

какое сравнение двух дат правильное js

Ответ 7

Сравнить только день (без учета компонента времени):

Ответ 8

Если вы создаете объект Javascript Date, вы можете просто вычесть их, чтобы получить разницу в миллисекунды (отредактируйте или просто сравните их):

Ответ 9

вы используете этот код,

Ответ 10

КОРОТКИЙ ОТВЕТ

Вот функция, возвращающая , если от dateTime> до dateTime Demo в действии

объяснение

поскольку теперь у вас есть как datetime в типе числа, вы можете сравнить их с любыми операциями сравнения

(>, = AND C# Custom Date и Time Format String, эта библиотека должна делать то же самое и помогать вам форматировать дату и время dtmFRM независимо от того, проходите ли вы в строке времени даты или в формате unix

Применение

все, что вам нужно сделать, это передать любой из этих форматов, умиротворенных в файле js библиотеки

Ответ 11

Ответ 12

Ответ 13

Когда мы сравниваем две даты в javascript. Требуется также несколько часов, минут и секунд. Итак, если нам нужно только сравнить дату, это подход:

Теперь: if date1.valueOf()> date2.valueOf() будет работать как шарм.

Ответ 14

Чтобы добавить еще одну возможность для многих существующих опций, вы можете попробовать:

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

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

. если вы предпочитаете, чтобы они не были равны.

Ответ 15

Через Moment.js

Метод возвращает 1, если dateTimeA больше, чем dateTimeB

Метод возвращает 0, если dateTimeA равно dateTimeB

Ответ 16

ОСТОРОЖНО ВРЕМЕНИ

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

В большинстве случаев вы хотите, чтобы ваша дата отражала часовой пояс пользователя. Нажмите, если сегодня ваш день рождения. Пользователи в Новой Зеландии и США щелкают одновременно и получают разные даты. В этом случае сделайте это.

Иногда международная сопоставимость превосходит локальную точность. В этом случае сделайте это.

Теперь вы можете напрямую сравнивать свои объекты даты, как предлагают другие ответы.

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

И полностью избегайте всего остального, особенно.

Ответ 17

Вычесть две даты, получить разницу в миллисекундах, если вы получите 0 в ту же дату

Ответ 18

Чтобы сравнить две даты, мы можем использовать библиотеку JavaScript date.js, которую можно найти по адресу: https://code.google.com/archive/p/datejs/downloads

-1 = date1 is lessthan date2.

1 = дата1 больше, чем дата2.

Ответ 19

Чтобы создать даты из свободного текста в Javascript, вам нужно проанализировать его в объекте Date().

Вы можете использовать Date.parse(), который принимает попытки свободного текста, чтобы преобразовать его в новую дату, но если у вас есть контроль над страницей, я бы рекомендовал вместо этого использовать поле выбора HTML или выбрать дату, например, Управление календарем YUI или jQuery UI Datepicker.

Как только вы указали дату, которую указали другие люди, вы можете использовать простую арифметику, чтобы вычесть даты и преобразовать их обратно в несколько дней, разделив число (в секундах) на количество секунд в день (60 * 60 * 24 = 86400).

Ответ 20

Скажите, что у вас есть объекты даты A и B, получите их значение времени EPOC, а затем вычтите, чтобы получить разницу в миллисекундах.

Ответ 21

Ответ 22

Улучшенная версия кода, размещенная «некоторыми»

Ответ 23

Я обычно храню Dates как timestamps(Number) в базах данных.

Когда мне нужно сравнивать, я просто сравниваю эти временные метки или

Обратите внимание, что == или === не работает должным образом, если ваши переменные не являются ссылками того же объекта Date.

Сначала конвертируйте те объекты Date в метку времени (число), а затем сравните их равенство.

Дата по метке времени

Отметка времени

Ответ 24

Ответ 25

Если следующий формат даты, вы можете использовать этот код:

Он будет проверять, больше ли число 20121121 больше 20121103 или нет.

Ответ 26

Ответ 27

Используйте этот код для сравнения даты с помощью javascript.

Ответ 28

Ответ 29

Вот что я сделал в одном из моих проектов,

вызов этого на форме onsubmit. надеюсь, что это поможет.

Ответ 30

Как вы можете видеть, мы разделим разделители (разделители), а затем сравниваем целые числа.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *