とても奇妙です。HTTP GET から取得した日付形式のデータを取得し、モデル クラスを使用して日付をラップします。こんな感じです。
// Model
public class wrapModel
{
public DateTime mydate{get; set;}
}
と、
// controller
[HttpGet]
public void myController(wrapModel data){
Response.Write(searchModel.mydate.ToString());
}
ブラウザを使用してコントローラーを呼び出しますmyhost/home/myController/mydate=05/05/2012
次に、 「2012 年 5 月 5 日12:00:00 AM」と出力されます。2012 年 5 月 5 日のみを想定していました。
時間はいらないです。だから私は日付を解析しようとしました。
data.mydata = DateTime.parse(data.mydata.ToString("MM/dd/yyyy"));
しかし、それでも「5/5/2012 12:00:00 AM」と出力されます
形式を「2012 年 5 月 5 日」に変更するにはどうすればよいですか?
どなたかご存知の方教えてください〜
ありがとうございました!
HTTP GET から取得した日時形式のデータを解析したいと考えています。
しかし、私は変わらず、また
[編集]
すべての回答と貴重な時間をありがとうございました! しかし、私はまだ問題があります。もう少し助けてください:)
まず、Linq で日付を使用して DB 日付を取得するため、文字列型ではなく DateTime 形式のデータが必要です。
私は試した、
1)
[DisplayFormat(DataFormatString="{0:MM/dd/yyyy}", ApplyFormatInEditMode=true)]
public DateTime mydate { get; set; }
[HttpGet]
public ActionResult myController(wrapModel data){
return Content(searchModel.mydate.ToString());
}
それでも「5/5/2012 12:00:00 AM」と出力されます
2)
[HttpGet]
public ActionResult myController(wrapModel data){
return Content(searchModel.mydate.ToString("MM/dd/yyyy"));
}
フォーマットも変更されましたが、DateTime フォーマットが必要なので、再度 DateTime に変換します。
[HttpGet]
public ActionResult myController(wrapModel data){
searchModel.mydate = DateTime.Parse(searchModel.mydate.ToString("MM/dd/yyyy"));
return Content(searchModel.mydate.ToString());
}
次に、「5/5/2012 12:00:00 AM」を再度出力します。
3)
searchModel.etaDate.ToString("d")
上記と同じように、DateTime に変換すると、「5/5/2012 12:00:00 AM」と出力されます。
と
単純な戻り値のテストに Response.Write() を使用していますが、Response.Write() メソッドを使用できない重要な理由はありますか? 学びたいです:)
どうもありがとう!
[編集]
これには DateTime 型のデータが必要です。
Repository myRespository = new Respository();
var data = (from x in myRepository.myContext
where x.thedate == mydate // thedate is datetime type, so I need datetime type for compare
select x.no).SingleOrDefault()
私は試した、
string test = mydate.ToShortDateString();
(...
where x.thedate.ToString() == test
...)
しかし、それは機能しません。