SQLSTATE [22007]: неверный формат даты и времени: 1292 Неверное значение даты и времени: «2019-03-31 01:52:25»

Добавьте этот ModelCollection.cs в свои модели

using System;
using System.Collections.Generic;

namespace ModelContainer
{
  public class ModelCollection
  {
   private Dictionary<Type, object> models = new Dictionary<Type, object>();

   public void AddModel<T>(T t)
   {
      models.Add(t.GetType(), t);
   }

   public T GetModel<T>()
   {
     return (T)models[typeof(T)];
   }
 }
}

Контроллер:

public class SampleController : Controller
{
  public ActionResult Index()
  {
    var model1 = new Model1();
    var model2 = new Model2();
    var model3 = new Model3();

    // Do something

    var modelCollection = new ModelCollection();
    modelCollection.AddModel(model1);
    modelCollection.AddModel(model2);
    modelCollection.AddModel(model3);
    return View(modelCollection);
  }
}

Вид:

enter code here
@using Models
@model ModelCollection

@{
  ViewBag.Title = "Model1: " + ((Model.GetModel<Model1>()).Name);
}

<h2>Model2: @((Model.GetModel<Model2>()).Number</h2>

@((Model.GetModel<Model3>()).SomeProperty
0
задан CIRCLE 31 March 2019 в 02:18
поделиться

1 ответ

Это происходит из-за перехода на летнее время, начинающегося в этот день, поэтому все время между 1 и 2 часами утра недопустимо. Вы обнаружите, что проблема фактически начинается в «01: 00: 00» и заканчивается в «01: 59: 59»:

create table t (created_at timestamp null default current_timestamp);
insert into t values('2019-03-31 00:59:59');
insert into t values('2019-03-31 01:00:00');

Неправильное значение даты и времени: «2019-03-31 01 : 00: 00 'для столбца' create_at 'в строке 1

insert into t values('2019-03-31 01:59:59');

Неправильное значение даты и времени:' 2019-03-31 01:59:59 'для столбца' creat_at ' в строке 1

insert into t values('2019-03-31 02:00:00');
select * from t

Вывод:

created_at
2019-03-31 00:59:59
2019-03-31 02:00:00

Изменение системного часового пояса на тот, который не имеет летнего времени, решит проблему.

0
ответ дан Nick 31 March 2019 в 02:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: