2015-05-25 4 views
0

Я имею datetimes в sql. Но когда я показываю его в cshtml странице он показывает это:отображение даты в ее формате

Дата:/Дата (1432549851367)/

, но в базе данных это:

2015-05-25 14: 30: 51.367

Почему?

У меня есть этот код:

var conv = (from c in db.Conversations 
           where (c.FirstUser == user.Id && c.AdminUser == id) 
           || (c.FirstUser == id && c.AdminUser == user.Id) 
           select new 
           { 
            Message = from m in c.Messages 
               select new MessageData() 
               { 
                Message = m.Message1, 
                SentTime = m.MessageTime, 
                From = m.User.UserName 
               } 
           }).FirstOrDefault(); 

и это мой класс модели:

public class MessageData 
    { 
      public string From { get; set; } 
      public string Message { get; set; } 
      public DateTime? SentTime { get; set; } 
    } 

и вот как я его в странице:

function refresh(id) { 
     $.getJSON("../Chat/ViewConversation/" + id, function (data) { 
      $('#ToId').val(id); 



      $('#conversations').html(''); 
      if (data[0].Message1 == 'no message') { 
       $('#conversations').append('no message'); 
      } else { 
       for (var i = 0; i < data.length; i++) { 

        console.log(data[i].SentTime); 

        var ctx = '<div class="from">' + data[i].From + '</div>' + 
        '<div class="messageBody">' + data[i].Message + '</div>' + 
        '<div class="date">date:' + data[i].SentTime + '</div><hr/>'; 
        $('#conversations').append(ctx); 

       } 
      } 
     }); 

он отображает сообщение и имя пользователя обычно, но не время. Как я могу улучшить это?

+0

JSON не предоставляет спецификацию даты. Поэтому вам нужно отформатировать его самостоятельно. Либо проанализируйте дату на стороне клиента, либо отправьте дату в виде строки клиенту. – CodingIntrigue

+0

спасибо, ребята, много. – gsiradze

ответ

1

Вы должны преобразовать дату вручную с помощью JS. См., Как форматировать дату в JavaScript в примере ниже:

var formatedDate = date.getFullYear() + '/' + date.getDate() + '/' date.getDay(); 
// Output is '2015/5/25' 
+0

. Вы не должны отправлять ссылки только ответы, так как ссылки могут умереть, и ваш ответ будет неактуальным. И вы, конечно же, не должны размещать ссылки на [сайты низкого качества] (http://www.w3fools.com/) – CodingIntrigue

+0

Просьба представить выдержку из статей, которые вы указали. Связанные только ответы могут быстро сломаться, что делает ваш ответ (который может быть действительным) бесполезным для будущих читателей (в качестве примечания: w3schools часто избегают многих программистов из-за его длинной истории неправильной/неполной информации). –

+0

Спасибо за рекомендации. –

Смежные вопросы