C# 无法用冒号保存日期时间字符串

C# 无法用冒号保存日期时间字符串,c#,datetime,C#,Datetime,所以我一直在想如何保存一个日期-时间字符串,这样它就可以在小时和分钟之间显示一个冒号,到目前为止,我所做的一切似乎都把它变成了一个点 com.Parameters.Add(new SqliteParameter("@DateAdded", DateTime.Now.ToString("dd.MM.yyyy - HH:mm"))); 给出: day.month.year - hour.minute 当我尝试另一种

所以我一直在想如何保存一个日期-时间字符串,这样它就可以在小时和分钟之间显示一个冒号,到目前为止,我所做的一切似乎都把它变成了一个点

com.Parameters.Add(new SqliteParameter("@DateAdded", 
                                        DateTime.Now.ToString("dd.MM.yyyy - HH:mm")));
给出:

day.month.year - hour.minute
当我尝试另一种方式时

com.Parameters.Add(new SqliteParameter("@DateAdded", 
                                         DateTime.Now.ToString("dd.MM.yyyy - HH/mm")));
同样的事情也会发生:

day.month.year - hour.minute
甚至尝试在
前面使用
\
:“
但它只是给了我一个错误。

”:“在自定义日期时间格式中,字符串将输出本地化的时间分隔符。如果你想要一个文字“:”你必须用反斜杠来转义它,即

DateTime.Now.ToString(“dd.MM.yyyy-HH\\\:MM”)

DateTime.Now.ToString(@“dd.MM.yyyy-HH \:MM”)

参见

对as有特殊含义

用当前区域性或提供的区域性时间分隔符替换我

看起来您的不同于
,因此,您会得到不同的结果

您可以通过排序单引号的方式来转义它,如
:'
as

com.Parameters.Add(new SqliteParameter("@DateAdded",
                                        DateTime.Now.ToString("dd.MM.yyyy - HH':'mm")));
这也是一样的。顺便说一下,您在第二个代码部分上测试了它

此外,如果您决定将日期时间值保留为字符串,SQLite会将其保存为。所以,在你的情况下,你应该像这样使用它

com.Parameters.Add(new SqliteParameter("@DateAdded",
                                        DateTime.Now.ToString("yyyy-MM-dd HH':'mm':'ss.fff")));

您的列类型是什么?请)显示您正在尝试执行的操作和遇到的问题。除此之外,关于什么样的数组/开关将真正帮助您,这几乎是猜测。我不清楚数据库是如何参与其中的。减少你的变数。您是否只是声称,
DateTime.Now.ToString(“dd.MM.yyyy-HH:MM”)
输出的是带点而不是冒号的字符串?如果你不是这么说的,那么问题到底是什么?@Simonare不幸的是,SQLite没有单独的日期时间类型。它可以将它们保存为字符串或数字。糟糕的是,在这个场景中没有真正需要包含字符串是参数这一事实。