Html5类型日期 - 需要数据库中的完整日期值

时间:2014-03-09 12:55:56

标签: sql html5 date

这是我的HTML代码

<div class="required" id="join_form">
                    <label for="DOB">DateOfBirth:</label>
                    <input type="date" name="date" id="date" required pattern="(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d" aria-required="true" aria-describedby="age-format" max="2004-12-31" min="1940-12-31" />
                    <span id="age-format" class="help" align="center">Format: mm/dd/yyyy, mm-dd-yyyy, mm.dd.yyyy, mm dd yyyy</span>
            </div>

javascript验证此类型=其他浏览器中的日期

var mydate = document.getElementById('date'),
    mydateError = document.getElementById('age-format');

mydate.addEventListener('input', function() {
    if (!mydate.value.match(/\d{4}-\d{1,2}-\d{1,2}/)) {
        mydateError.innerHTML = 'Please specify a valid date in the form 1940-2004 ';
        mydateError.style.display = 'inline-block;font-size:6pt;text-align:center;';
    } else {
        var value = new Date(date.value),
            min = new Date(date.min),
            max = new Date(date.max);
        if (value < min || value > max) {
            mydateError.innerHTML = 'Date has to be between ' + min.toDateString() + ' and ' + max.toDateString();
            mydateError.style.display = 'inline-block';
        } else {
            mydateError.style.display = 'none';
        }
    }
});

php验证并插入日期

$DOB=mysql_real_escape_string($_POST['date']);

$sql="INSERT INTO register(DOB) VALUES("$DOB");

我希望得到完整的出生日期,如mm / dd / year,但在我的数据库中,我只能像1970年或1987年那样得到年......我无法弄清楚我哪里出错了

1 个答案:

答案 0 :(得分:0)

PHP mysql insert date format

此链接确实帮助了我,我使用它来验证并在数据库中插入type="date"

$timestamp = strtotime($DOB);
$date = date('d-m-y', $timestamp);
 $sql="INSERT INTO register(DOB) VALUES(FROM_UNIXTIME($timestamp))";

我的另一个错误是将DOB设置为数据库中的int

Data type required in a mysql for a date containing day-month-year

应为DATEDATETYPE

@Tonywilk感谢:D