請教各位先進DateTime輸出的問題:
Controller程式碼
.............略
//若己有上傳檔案,則帶出檔案資訊TODO
UploadViewModel ulv = new UploadViewModel();
ulv.DataList = uplSrv.GetStagePaperFile(PaperId, Stage);
//## 模擬上傳的檔案內容
List<PaperFile> oStr = new List<PaperFile>();
foreach (PaperFile u in ulv.DataList)
{
oStr.Add(new PaperFile() { SysPath = u.SysPath, FileName = u.FileName, FileId = u.FileId, UploadDate = Convert.ToDateTime(u.UploadDate) });
}
//## 將結果回傳
return Json(new { isUploaded = true, result = oStr }, "text/html");
javascript程式碼
var ajaxRequest = $.ajax({
type: "POST",
url: "@Url.Action("PaperFileUpload")",
contentType: false, // 告诉jQuery不要去這置Content-Type
processData: false, // 告诉jQuery不要去處理發送的數據
dataType: "json",
data: data
})
.done(function (data, textStatus) {
$("#DivResult").empty();
//## data 接收回傳的Json,透過each組合結果
var htmlresult = "";
console.log(data);
$.each(data.result, function (i, item) {
htmlresult += "己上傳檔案名稱:";
htmlresult += "<a href='/Users/Paper/DownloadFile/" + item.FileId + "'>" + item.FileName + "</a><br/>";
htmlresult += "上傳日期:";
htmlresult += item.UploadDate;
});
//## 將結果append到預留的DIV中
$("#DivResult").append(htmlresult);
})
.fail(function () {
alert("Error");
});
由javascript輸出結果
己上傳檔案名稱:3.docx
上傳日期:/Date(1559831330153)/
由MVC輸出格式的程式碼
<div id="DivResult">
@foreach (var item in Model.DataList)
{
@:己上傳檔案名稱:
@Html.ActionLink(@item.FileName, "DownloadFile", new { Id = item.FileId })
<br/>
@:上傳日期:
@item.UploadDate
}
</div>
由MVC輸出結果
己上傳檔案名稱: 3.docx
上傳日期: 2019/6/6 下午 10:28:50
請教各位前輩,javascript輸出結果要如何修改才能顯示出正確的日期格式呢?
javascript要指定日期的顯示格式有以下幾種方法
1.直接依目前的本機日期格式顯示定義,並依國別名顯示
var NowDate = new Date(now_system_time);
str = '' + NowDate.toLocaleString('zh-TW', { hour12: false });
2.拆解法
var NowDate = new Date();
document.getElementById("datebox").innerHTML =
NowDate + "<br>"
+ "西元年:" + NowDate.getFullYear() + "<br>"
+ "月份:" + NowDate.getMonth() + "<br>"
+ "日期:" + NowDate.getDate() + "<br>"
+ "時:" + NowDate.getHours() + "<br>"
+ "分:" + NowDate.getMinutes() + "<br>"
+ "秒:" + NowDate.getSeconds() + "<br>"
+ "毫秒:" + NowDate.getMilliseconds() + "<br>"
+ "星期:" + NowDate.getDay() + "<br>"
;
其它有人會做成外掛對應物件來定義格式。
大多數都是用拆解法居多。因為靈活度比較夠。
當然,直接用後端傳送到前台也是ok
這個我有遇過
你可以在前端處理
參考這篇https://stackoverflow.com/questions/726334/asp-net-mvc-jsonresult-date-format
也可以改寫Controller的輸出
參考黑大這篇https://blog.darkthread.net/blog/asp-net-mvc-and-json-net/