Я написал эту функцию. Передайте ему строковый параметр, и он будет определять, является ли это действительной датой или нет, основываясь на этом формате «дд / мм / гггг».
вот тест
вход: «хахаха», выход: ложь.
вход: «29/2/2000», выход: true.
вход: «29/2/2001», выход: ложь.
function isValidDate(str) {
var parts = str.split('/');
if (parts.length < 3)
return false;
else {
var day = parseInt(parts[0]);
var month = parseInt(parts[1]);
var year = parseInt(parts[2]);
if (isNaN(day) || isNaN(month) || isNaN(year)) {
return false;
}
if (day < 1 || year < 1)
return false;
if(month>12||month<1)
return false;
if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && day > 31)
return false;
if ((month == 4 || month == 6 || month == 9 || month == 11 ) && day > 30)
return false;
if (month == 2) {
if (((year % 4) == 0 && (year % 100) != 0) || ((year % 400) == 0 && (year % 100) == 0)) {
if (day > 29)
return false;
} else {
if (day > 28)
return false;
}
}
return true;
}
}
Поскольку вы выполнили из os import *
, вы (случайно) используете os.open, который действительно требует целочисленного флага вместо текстовых «r» или «w». ". Уберите эту строку, и вы избавитесь от этой ошибки.
Не выполняйте import * из любого места
без уважительной причины (а их немного).
Ваш код подхватывает os.open ( ) вместо встроенной функции open (). Если вы действительно хотите использовать os.open (), выполните import os
, а затем вызовите os.open (....)
. Независимо от того, какое открытие вы хотите вызвать, прочтите документацию о том, какие аргументы для этого требуются.
Также следует отметить, что, начиная с Python 2.6, встроенная функция open () теперь является псевдонимом для функции io.open (). Было даже рассмотрено удаление встроенного open () в Python 3 и требование использования io.open, чтобы избежать случайных коллизий пространств имен в результате таких вещей, как «from blah import *». В Python 2.6+ вы можете написать (и также можете считать этот стиль хорошей практикой):
import io
filehandle = io.open(sys.argv[1], 'r')