У меня две строковые даты в формате m/d/yyyy. Например, «11/1/2012», «1/2/2013». Я пишу функцию в JavaScript для сравнения двух строковых дат. Подпись моей функции: bool isLater(string1, string2),
, если дата, переданная строкой1, позже даты, переданной строкой2, возвращает true, в противном случае - false. Итак, isLater ("1/2/2013", "11/1/2012") должен возвращать true. Как мне написать функцию JavaScript для этого?Как сравнить две строковые даты в javascript?
ответ
var d1 = Date.parse("2012-11-01");
var d2 = Date.parse("2012-11-04");
if (d1 < d2) {
alert ("Error!");
}
будет работать, если формат дат 12/31/1992? где MM/dd/YYYY? – KyelJmD
Он также работает в формате MM/dd/YYYY. @AnttiHaapala Кажется, что он работает со всем оператором. – Rajush
Я отменил свой комментарий, в котором утверждал, что это не работает для '==', так как, когда я просматривал код, я думал, что он сравнивает объекты Date. Тем не менее, 'Date.parse' возвращает целое число (теперь как это удобно), и этот код будет работать и для равенства. Тем не менее, будьте осторожны, что 'new Date ('2015-10-10') == new Date ('2015-10-10')' false! –
разбирает даты и сравнить их, как вы бы номера:
function isLater(str1, str2)
{
return new Date(str1) > new Date(str2);
}
Если вам необходимо поддерживать другой формат даты рассмотреть библиотеку, такие как date.js.
Хотелось бы отметить, что это работает только для операторов сравнения, а не для равенства '==' или '! ='. –
Это не работает для формата DD/MM/yyyy, почему кто-нибудь может рассказать мне? –
Он не работает для формата dd-MM-yyyyy – meenu1meen
Вы можете просто сравнить 2 строки
function isLater(dateString1, dateString2) {
return dateString1 > dateString2
}
Тогда
isLater("2012-12-01", "2012-11-01")
возвращает истину, а
isLater("2012-12-01", "2013-11-01")
возвращает false
'' 2017/10/26 ">" 2017/10/7 "' дает 'false': D – ahmadalibaloch
ahmadalibaloch Я думаю, повторно приняв здесь. Вы правы, что '' 2017/10/26 ">" 2017/10/7 "' дает 'false', но это потому, что вы используете'> 'я думаю.потому что 'isLater (" 2017/10/26 ">" 2017/10/07 ")' дает 'false', но если вы правильно запустите функцию, как ' isLater («2017/10/26», «2017/10/07 ")' вы получаете 'true' – CaseyC
Если ваша дата не в формате standar yyyy-mm-dd (2017-02-06), например 20/06/2016. Вы можете использовать этот код
var parts ='01/07/2016'.val().split('/');
var d1 = Number(parts[2] + parts[1] + parts[0]);
parts ='20/06/2016'.val().split('/');
var d2 = Number(parts[2] + parts[1] + parts[0]);
return d1 > d2
- 1. Как сравнить две строковые переменные с javascript?
- 2. Как сравнить две даты Javascript
- 3. Как сравнить две строковые переменные?
- 4. Как сравнить две строки даты
- 5. Как сравнить две даты
- 6. Как сравнить две даты?
- 7. Как сравнить две строковые переменные в пандах?
- 8. Как сравнить две даты?
- 9. JavaScript Глобализация: как сравнить две даты?
- 10. Как сравнить эти две даты?
- 11. Сравнить две даты angularjs
- 12. Как сравнить две даты в JQuery?
- 13. Как сравнить даты в javascript?
- 14. сравнить две даты Groovy
- 15. питона сравнить две даты
- 16. Android - Сравнить две даты
- 17. Как правильно сравнить две даты?
- 18. JPA: Как сравнить две даты
- 19. Как правильно сравнить две даты?
- 20. Yii2: Как сравнить две даты?
- 21. Как сравнить две даты MySQL
- 22. Javascript сравнить две даты, чтобы получить значение
- 23. Как сравнить две даты ввода?
- 24. Как сравнить две даты в C#
- 25. DateTime сравнить две даты
- 26. Oracle сравнить две даты
- 27. mvc4 сравнить две даты
- 28. Сравнить две даты в эликсира
- 29. Сравнить две даты в уголек
- 30. сравнить две даты в оракула
Создайте два объекта Date из ваших строк и сравните их как цифры. – georg
преобразует строки в собственные объекты JS datetime (см. Http://stackoverflow.com/questions/5619202/converting-string-to-date-in-js). оттуда это становится легко. –
Как создать два объекта даты из строк? – GLP