使用javascript转换日期格式

时间:2012-02-26 18:58:51

标签: php javascript jquery

我有一个简单的文本字段,其类型被定义为附加了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

3 个答案:

答案 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')