[英]how to convert a date-time in string in C#mvc5 so that it doesnot get null date time value
我正在創建一個項目,我想在其中將數據庫中的日期存儲在列表中。 我使用MVC5和C#。 在相應的控制器中,我將來自數據庫的值傳遞為:
var order1 = (from a in context.DB_OrderDetails
where a.OrderId == id
select new
{
a.ActualCompletedAt,
}).ToList();
然后用腳本寫
for (i = 0; i < result.order1.length; i++) {
str += '<tr>';
str += '<td> ' + order1[i].ActualCompletedAt + '</td>';
str += '<tr/>';
}
但是在列表中,我在數據庫中獲得的值為date / 878978978979等,就像“ 2015-09-24 14:59:10.837”,即正確的日期和時間。 我需要在Linq查詢中進行哪些修改,以使日期不為空?
您應該調用ToString
並正確設置其格式:
ActualCompletedAt = a.ActualCompletedAt("MM/dd/yyyy")
我想ActualCompletedAt
是一個DateTime
對象。 如果這是一個可為空的DateTime
對象,則必須首先進行檢查。
ActualCompletedAt = a.ActualCompletedAt != null ? a.ActualCompletedAt.Value("MM/dd/yyyy") : ""
這就是json序列化程序處理日期的方式。 我敢肯定有一種方法可以控制它的完成方式,但是一個簡單的解決方法是在控制器中的ActualCompletedAt之后附加.ToString(),從而在控制器中以字符串形式返回日期。
(更新)
我同意PeteGO的觀點,認為結果與空值無關。
但是要回答您的問題,為避免出現空值,可以使用:
var order1 = (from a in context.DB_OrderDetails
where a.OrderId == id
and a.ActualCompletedAt != null
select new
{
a.ActualCompletedAt.ToString("yyyy-MM-dd hh:mm:ss.fff"),
}).ToList();
然后在腳本中:
for (i = 0; i < result.order1.length; i++) {
str += '<tr>';
str += '<td> ' + order1[i].ActualCompletedAt + '</td>';
str += '<tr/>';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.