2012-02-13 18 views
0

件名が記載されているように、私はdd-mm-yyyyで選択した日付をWebアプリケーションで開発したいと思っています。asp.net mvc frameworkを使用して開発するのは、mysqlデータベースのテーブルに保存された日付です。 ここには「シナリオ」があります:
日付記入欄にはdd-mm-yyyyの形式を使用し、datetimepickerを使用して日付を選択するのに役立ちますが、データを保存するときにはmySQLがmm-dd-yyyyを使用するようです。 12 February 2012(塗りつぶしフィールドに12-02-2012と表示)を選択すると、2 December 2012という名前で保存されます。 2012年2月12日、2012年12月2日を保存することをmySQLに理解させるにはどうすればよいですか?ここで特定の形式で日付を選択する方法は保存された日付ですか?

は、私は、コントローラのメソッドを持っているものです。

GETメソッド

public ActionResult AddAssignment() 
{ 
    var satqry = db.Satelites.Select(c => new 
            { 
             c.SateliteID, 
             c.SateliteName 
            }); 
    var wmqry = db.JustUsers 
        .Select(u => new 
            { 
             u.name, 
             u.RealName 
            }) 
        .OrderBy(u => u.RealName); 

    SateliteSchedule satsched = new SateliteSchedule(); 

    satsched.Tanggal = DateTime.Now.Date; 


    ViewBag.SatList = new SelectList(satqry.AsEnumerable(), "SateliteID", "SateliteName"); 
    ViewBag.WMList = new SelectList(wmqry.AsEnumerable(), "name", "RealName"); 


    return View(satsched); 
} 

HttpPost方法

[HttpPost] 
public ActionResult AddAssignment(SateliteSchedule SatSched) 
{ 
    var txt = ""; 

    if (ModelState.IsValid) 
    { 
     if (SatSched.ID == 0) 
     { 
      db.SateliteSchedules.Add(SatSched); 
      txt = "{0} has been added!"; 
     } 
     else 
     { 
      db.Entry(SatSched).State = EntityState.Modified; 
      txt = "{0} has been modified!"; 
     } 

     db.SaveChanges(); 

     Utility utl = new Utility(); 
     TempData["message"] = string.Format(txt, utl.GetSateliteName(SatSched.SateliteID)); 

     return RedirectToAction("FormAssignment"); 
    } 
    else 
    { 
     ViewBag.Message = "ModelState is not Valid!"; 

     return View("ErrorView"); 
    } 
} 

ビュー:

@using (Html.BeginForm("AddAssignment", "admin", FormMethod.Post)) 
{ 
    @Html.ValidationSummary(true) 

    @Html.HiddenFor(m => m.ID); 

    <table> 
    <tr> 
     <td>@Html.LabelFor(m => m.Tanggal) 
     </td> 
     <td> 
      @Html.EditorFor(m => m.Tanggal) 
      @Html.ValidationMessageFor(m => m.Tanggal) 
     </td> 
    </tr> 
    <tr> 
     <td>@Html.LabelFor(m => m.SateliteID)</td> 
     <td> 
      @Html.DropDownList("SateliteID", (IEnumerable<SelectListItem>)ViewBag.SatList, "--- Satelite ---") 
      @Html.ValidationMessageFor(m => m.SateliteID) 
     </td> 
    </tr> 
    <tr> 
     <td>@Html.LabelFor(m => m.WMOnDuty)</td> 
     <td> 
      @Html.DropDownList("WMOnDuty", (IEnumerable<SelectListItem>)ViewBag.WMList, "--- Worship Manager ---") 
      @Html.ValidationMessageFor(m => m.WMOnDuty) 
     </td> 
    </tr> 
    <tr> 
     <td>@Html.LabelFor(m => m.SMOnDuty)</td> 
     <td>@Html.EditorFor(m => m.SMOnDuty)</td> 
    </tr> 
    <tr> 
     <td>@Html.LabelFor(m => m.WLOnDuty)</td> 
     <td>@Html.EditorFor(m => m.WLOnDuty)</td> 
    </tr> 
    <tr> 
     <td>@Html.LabelFor(m => m.MLOnDuty)</td> 
     <td>@Html.EditorFor(m => m.MLOnDuty)</td> 
    </tr> 
    <tr> 
     <td>@Html.LabelFor(m => m.SoundMan)</td> 
     <td>@Html.EditorFor(m => m.SoundMan)</td> 
    </tr> 
    <tr> 
     <td valign=top>@Html.LabelFor(m => m.Note)</td> 
     <td>@Html.TextAreaFor(model => model.Note, new { @class = "memo-text" })</td> 
    </tr> 
    </table> 
    <div> 
     <input type="submit" value="Save" /> 
     @Html.ActionLink("Kembali", "FormAssignment") 
    </div> 
} 

答えて

0

は、私は不思議これを私の.iniとMySQLが何かを変更し再起動:

[mysqld] 
date_format="%Y%m%d" 
datetime_format="%d-%m-%Y %H:%i:%s" 
+0

返信いただきありがとうございます。しかし、[mysqld]セクションにdate_formatを追加した後、mysqlサービスを開始することはできません。 – Tanu

0

次のようになりました日付形式を変更することができます: Now.ToString( "DD-MM-YYYY")

Satelitesと幸運、

Cerveser

+0

レスポンスありがとうございますが、日付形式に問題はありません。問題はディスプレイが2012年2月12日にそれを保存した後に表示される間、2012年12月2日になるということです。 – Tanu

関連する問題