我们发送图片,图片的默认文化设置为MDY。
安装映像的客户服务器具有DMY的语言环境已使用我们的映像几天,然后注意到日期的日期样式错误(即将DateTime.Now()插入表中时)。
我们已经尝试将postgreSQL语言环境更改为DMY(在postgresql.conf中),但没有运气。
我在考虑将我的C#app中的所有DateTime.Now()调用转换为DMY格式。
我还注意到我可以设置我的web.config,这可能会有所帮助。
由于我无法改变postgreSQL设置,我的选择是什么?
我想的另一个选择是卸载postgreSQL,然后使用正确的语言环境设置再次安装它(只要我备份我的数据库)。希望这会奏效。
答案 0 :(得分:4)
如果您需要插入当前时间,请将值发送为now
INSERT INTO TestTable (code, title, date)
VALUES ('aaa', 'bbbb', now);
您可以使用其他列的参数,让服务器从数据库端插入当前日期时间值
如果要设置datetime参数,请不要将值设置为字符串。如下所示
string sql ="INSERT INTO TestTable (dateTimeColumnName) VALUES (:datetimeParamName)";
// create connection cmd etc...
cmd.Parameters.AddWithValue(":datetimeParamName", DateTime.Now);
OR
NpgsqlParameter param = new NpgsqlParameter(":datetimeParamName",NpgsqlTypes.NpgsqlDbType.Date);
param.Value = DateTime.Now;
cmd.Parameters.Add(param);