C # хранить DateTime в столбце Timestamp в MYSQL

#c# #datetime

#c# #datetime

Вопрос:

Как преобразовать C # Datetime.Today в Timestamp формат 20.10.2011 12:00:00 в mysql?

Комментарии:

1. Вы спрашиваете, как это сделать в C # или как это сделать в Mysql?

2. Рассматривали ли вы возможность использования вместо этого параметризованных запросов?

Ответ №1:

Если вы хотите получить дату и время в виде строки в этом формате, тогда вы можете сделать…

 string dt = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
  

Смотрите Здесь дополнительные параметры форматирования для метода DateTime toString

Хотя, исходя из моего понимания MySQL, он будет принимать временную метку в формате гггг-ММ-дд ЧЧ: мм: сс. Я бы рекомендовал сделать это, поскольку это гарантирует, что такие даты, как 08.05.2011, будут правильно проанализированы для правильного месяца и дня…

 string dt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  

Комментарии:

1. Исправьте формат строки на "MM/dd/yyyy HH:mm:ss" (в соответствии с вопросом OP), и вы получите 1 от меня 🙂

2. предполагается, что это pm, но хранить в mysql это am

Ответ №2:

Попробуйте это:

 DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
  

и если вам нужны другие / другие форматы времени, проверьте это.

Ответ №3:

Вы можете использовать что-то вроде следующего и использовать возвращаемое значение в качестве метки времени для Sql.

 public static string GiveMeTimestamp(DateTime value)
{
 return value.ToString("yyyy/MM/dd HH:mm:ss:ffff");
}
  

Ответ №4:

Используйте перегруженный метод toString, который принимает строковый аргумент для формата.

Ответ №5:

Возможно, это может помочь кому-то с тем же подходом, и я подумал, что у меня:

Для тестирования непосредственно в MYSQL Workbench:

 INSERT into tblDemo VALUES (898,CURRENT_TIMESTAMP());

create table tblDemo (ScenarioID INT(10),
          ProcessTime  DATETIME DEFAULT CURRENT_TIMESTAMP() NOT NUll);
  

Теперь скомпилируйте строку в вашем коде на C # следующим образом:

     string query = "INSERT into tblDemo "   
                    "VALUES ("    ScenarioID   ","    " CURRENT_TIMESTAMP())";
  

Обратите внимание на CURRENT_TIMESTAMP() в кавычках в приведенном выше запросе

Вывод: ‘2021-03-04 17:52:30’