APS.NETアプリ(ここではASP.NET MVC3)から、javascriptへJSON形式でDateTimeオブジェクトを送った場合
●C#側
public ActionResult GetDate()
{
return Json(DateTime.Now, JsonRequestBehavior.AllowGet);
}
●.js側(ここではjQueryのajaxを例に)
<script type="text/javascript">
$(function(){
$.ajax({
url: "http://サーバURL/GetDate",
type: "GET",
success: function(data){
alert(data)
}
});
</script>
●出力
\Date(1337261816234)\
このような表示になってしまうと思います。
そこで、
■C#(サーバ)側で整形する場合
return Json(DateTime.Now.ToLongDateString()
+ "/ " + DateTime.Now.ToLongTimeString(),
JsonRequestBehavior.AllowGet);
DateTime.ToLongDateString()等でStringにしてから渡す。
>参考: 日時(DateTimeオブジェクト)を文字列に変換する
>http://dobon.net/vb/dotnet/string/datetimeformat.html
■js側で整形する場合
だいたいサーバ側で整形すべきですが、ちょっと複雑ですが.js側でも以下で表示できます。alert(new Date(parseInt(data.Now.substr(6)))
.toLocaleString());
jsのDateオブジェクトを作って初期化し、toLocaleString()等で整形して表示する。
>参考: Dateオブジェクトのメソッド
>http://www.tohoho-web.com/js/date.htm#newDate
0 件のコメント:
コメントを投稿