#javascript #html #entity-framework #datetime #vue.js
#javascript #HTML #entity-framework #дата и время #vue.js
Вопрос:
Я хочу удалить форматирование даты и времени из таблицы vue на стороне клиента (медленный рендеринг с> 500 строками) на стороне сервера, но я не уверен, как это сделать!
У меня есть таблица vue с двумя столбцами дата начала и дата окончания, которые передаются в formatDate()
<td>{{ formatDate(props.item.startDate) }}</td>
<td>{{ formatDate(props.item.endDate) }}</td>
в модели представления они являются обнуляемыми датами
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
Метод formatDate выглядит следующим образом в файле .vue, где dayjs() является компонентом, подобным moment .
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. У вас есть пример необработанного
DateTime
значения?
Ответ №1:
При форматировании 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