无法用冒号保存DateTime字符串

时间:2018-12-23 12:36:30

标签: 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

甚至尝试在\前面使用":",但这只是给我一个错误。

2 个答案:

答案 0 :(得分:3)

The ":" format specifiercustom date and time format strings上具有 special 含义;

  

用当前的文化或提供的文化时间分隔符代替我。

好像您的CurrentCultureTimeSeparator property[ {" name": "Michaello Julders"} ] 不同,所以您得到了不同的结果。

您总是可以通过使用: as这样的单引号来烦恼它;

':'

它也与The "/" custom format specifier相同。顺便说一下,您已经在第二个代码部分对其进行了测试。

此外,如果您决定将日期时间值保留为字符串,则SQLite会使用ISO 8601 format保存日期时间值。因此,就您而言,应该像这样使用它:

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

答案 1 :(得分:0)

自定义DateTime格式字符串中的

“:”将输出本地化的时间分隔符。如果要使用文字“:”,则必须使用反斜杠将其转义,即

DateTime.Now.ToString(@"dd.MM.yyyy - HH\:mm")

url(r'^(?P<slug>[-\w]+)/$', home_page.as_view(), name='home'),

请参见Custom Date and Time Format Strings