DateTime сбрасывает обратно на 01/01/0001 на сервере Azure - PullRequest
0 голосов
/ 01 мая 2018

Я использую ASP.NET EF и пытаюсь перенести DateTime из моей модели в мой контроллер. Моя модель имеет формат «дд / мм / гггг», и когда я переношу ее в контроллер, я хочу добавить к ней 10 часов и отправить ее на другой контроллер, чтобы использовать эту дату. Этот код работает локально, но я размещаю его на Azure, поэтому необходимо преобразовать его в часовой пояс UTC из часового пояса Новой Зеландии.

Я получаю ошибку:

ArgumentOutOfRangeException: добавленное или вычтенное значение приводит к непредставляемому DateTime.

Я полагаю, это потому, что значение устанавливается обратно на 01/01/0001, но я могу работать локально, и оно отлично работает.

Посмотреть код:

@using (Html.BeginForm())
{
    @Html.HiddenFor(x => x.SiteID)
    @Html.TextBoxFor(x => x.Date, DateTime.Now.ToString("dd/MM/yyyy"), new { 
    @class = "form-control" })
    <button type="submit" name="type" value="invoice" class="btn btn-primary" 
    onclick="document.body.style.cursor='wait'">Generate Invoices</button>
}

Код контроллера (viewModel передает дату):

public ActionResult Run(RunViewModel viewModel, string type)
    {
        var logger = new MemoryLogger();

        if (type == "invoice")
        {
            var date = viewModel.Date.AddHours(10);
            var xeroCommandParameters = new XeroCommandParameters
            {
                Logger = logger,
                LocalDateTime = TimeZoneInfo.ConvertTimeToUtc(date, NewZealand),
            };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...