Форматирование даты и времени форматирование функции javascript в .vue для запроса структуры объекта на стороне сервера - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу удалить форматирование DateTime из таблицы vue на стороне клиента (медленное рендеринг с> 500 строками) на стороне сервера, но я не уверен, как!

У меня есть таблица vue сдаты начала и окончания двух столбцов, которые передаются для formatDate ()

<td>{{ formatDate(props.item.startDate) }}</td>
<td>{{ formatDate(props.item.endDate) }}</td>

в модели представления. Они могут иметь значение DateTimes

public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }

Метод formatDate выглядит следующим образом в .vueфайл, где dayjs () является компонентом, подобным моменту.

formatDate(date) {
   if (!date) {
       return null
   }

   return dayjs(date).format('MM/DD/YYYY')
}

В запросе Entity Framework я просто выбираю даты, подобные этой

var recordsVM = records.Select(r => new GetRecordsReturnViewModel
{
     StartDate = r.StartDate,
     EndDate = r.EndDate,
     // fetch more data
}).Distinct();

Я хочу иметь возможность выполнитьта же операция в выражении linq, но я не уверен, как!

Я хочу что-то подобное, я думаю, но преобразование не будет работать

var recordsVM = records.Select(r => new GetRecordsReturnViewModel
{
     StartDate = (r.StartDate != null) ? ((DateTime)r.StartDate).ToString("MM/DD/YYYY") as DateTime? : null,
     EndDate = (r.EndDate != null) ? ((DateTime)r.EndDate).ToString("MM/DD/YYYY") as DateTime? : null,

}).Distinct();

1 Ответ

0 голосов
/ 11 апреля 2019

При форматировании DateTime.ToString() вы должны следовать определенному формату ..

В этой статье описываются символы форматирования.

Ниже показано, как преобразовать DateTime в формат строки из ticks, а также сам объект DateTime.

Запустите этот пример онлайн через DotNetFiddle.net

using System;

namespace Root
{
    public class Program
    {
        public static void Main()
        {
            /** could also do:
            var nowInTicks = DateTime.Now.Ticks; */
            var nowInTicks = 636905426867055839;
            var nowString = new DateTime(nowInTicks).ToString("MM/dd/yyyy");
            Console.WriteLine(nowString);
            Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy hh:mm:sstt"));
        }
    }
}
/* RETURN: */
// 04/11/2019
// 04/11/2019 01:32:28AM // in UTC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...