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没有单独的日期时间类型。它可以将它们保存为字符串或数字。糟糕的是,在这个场景中没有真正需要包含字符串是参数这一事实。