我有一个简单的文本字段,其类型被定义为附加了jquery datepicker()
的日期。现在我已将dateFormat()
设置为dd-mm-yy
。这一切都很好。但据我所知,MySql需要yyyy-mm-dd
中的日期。所以我只是想知道我是否可以转换该日期格式使用php或javascript进入数据库。
E.g var date = $('#order_date').val();
给出了值26-2-2012。我需要将其转换为2012-02-26。
注意:该月还添加了0
。
答案 0 :(得分:2)
使用PHP:
$date = $_POST['date']; // e.g. 06-08-2011
$mysql_date = date('Y-m-d', strtotime($date));
或
$date = explode('-', $_POST['date']);
$mysql_date = $date[2].'-'.$date[1].'-'.$date[1];
使用$ mysql_date插入数据库。
答案 1 :(得分:2)
您可以通过解析输入并将其加载到Date()对象中,然后使用getMonth,getDate和getFullYear函数在javascript中执行,如下所示:
//Assume input is dd-mm-yyyy
var dateParts = $('#order_date').val().split("-");
var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
//format using getMonth(), getDate() and getFullYear() methods)
var formattedMonth = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1);
var formattedDate = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
var output = date.getFullYear() + '-' + formattedMonth + '-' + formattedDate;
您可以在这个出色的StackOverflow post
中看到更多内容答案 2 :(得分:-1)
date.format("yyyy-mm-dd");
吗?
您也可以使用"isoDate"
代替"yyyy-mm-dd"
如果您正在使用mysql,您可以使用DATE_FORMAT(日期,'%Y-%m-%d')