作为出生日期的一个表格输入选择日历前端并存储为mysqli。
我不知道有人说怎么做。因为我是php的新手。
答案 0 :(得分:0)
<input type="date" name="bday">
尝试这个从用户那里获取出生日期。
然后用PHP转换
<?php
$dob = date('Y-m-d', strtotime($_POST['bday']));
?>
答案 1 :(得分:0)
您可以使用jQuery UI Datepicker。您可以找到其文档here
让我们先包含并启动插件
/* include files needed */
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
/* initiate plugin */
<script>
$( "#date" ).datepicker({dateFormat: "yy-mm-dd"});
</script>
选择器将是您的日期input
,它看起来像这样:
<input type="text" id="date" name="date">
然后按照您通常的方式存储日期。请记住,日期格式必须为YYYY-MM-DD
答案 2 :(得分:0)
使用
<input type="date" name="birthDate">
$birthDate = $_POST['birthDate'];
使用strtotime,您可以以yyyy-mm-dd格式存储日期。
$newDOB = date('Y-m-d', strtotime($birthDate));
答案 3 :(得分:0)
按照以下四个步骤完成您的需求设置。只需要创建数据库结构。
1。使用altField(http://api.jqueryui.com/datepicker/#option-altField)及其altFormat选项配置Datepicker以支持的格式提供日期:
<input type="hidden" id="actualDate" name="actualDate"/>
$( "selector" ).datepicker({
altField : "#actualDate"
altFormat: "yyyy-mm-dd"
});
或者,如果您很高兴用户能够以YYYY-MM-DD格式查看日期,只需设置dateFormat option代替:
$( "selector" ).datepicker({
dateFormat: "yyyy-mm-dd"
});
2. 使用MySQL的STR_TO_DATE()函数转换字符串:
INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))
3. 将从jQuery接收的字符串转换为PHP理解为日期的字符串,例如DateTime对象:
$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']);
and then either:
- 获取合适的格式化字符串:
$date = $dt->format('Y-m-d');
- 获取UNIX时间戳:
$timestamp = $dt->getTimestamp();
which is then passed directly to MySQL's [FROM_UNIXTIME()][3] function:
INSERT INTO user_date VALUES ('', '$name', FROM_UNIXTIME($timestamp))
4. 手动将字符串操作为有效的文字:
$parts = explode('/', $_POST['date']);
$date = "$parts[2]-$parts[0]-$parts[1]";
希望这对你有所帮助!