2012-02-26 6 views
1

jquery datepicker()に添付された日付として無視される型の単純なテキストフィールドがあります。今私はになるようにdateFormat()を設定しました。すべてこれはうまく動作します。しかし、私はMySqlの日付がyyyy-mm-ddであることを知っています。だから私はちょうど私はPHPまたはJavaScriptを使用して、データベースに入力する日付形式を変換することができますかと思っていた。javascriptを使用した日付書式の変換

たとえば、var date = $('#order_date').val();は26-2-2012という値を示します。これを2012-02-26に変換する必要があります。

注:月には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使用。次のようにあなたは、入力を解析し、日付()オブジェクトにロードし、その後getMonth、のgetDate、とにgetFullYear関数を使用して、JavaScriptで行うことができます

-1

を試しましたdate.format("yyyy-mm-dd");? Uはまた"yyyy-mm-dd"

の代わりに"isoDate"を使用することができ、uはMySQLを使用している場合、UはDATE_FORMAT使用することができます(日付、 '%Y-%M-%D')

+0

エラーを投げます! – Namit

+0

ええ、 'date'は文字列であり、' Date'オブジェクトではありません。 – ThiefMaster

+0

私はフォーマット関数を作成しなければならないことを知りました。その場合、ジョーの答えが働くでしょう。 –

2

 //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

関連する問題