如何在C#中将以毫秒为单位的日期时间存储到DateTime对象中?

0 c# datetime

我在Dictionary中有一个DateTime对象中的键。

static Dictionary<DateTime, string> messageList = new Dictionary<DateTime, string>();
Run Code Online (Sandbox Code Playgroud)

我不想以毫秒为单位存储日期时间。

static Dictionary<DateTime, string> messageList = new Dictionary<DateTime, string>();
Run Code Online (Sandbox Code Playgroud)

我想将数据时间以01/01/2008 00:30:45.125格式存储为字典中的键。

Son*_*nül 5

我强烈怀疑您在的值DateTime和的文本表示之间感到困惑DateTime

一个DateTime实例并没有任何隐含的格式。它仅具有基于的日期和时间值Ticks。“格式”概念在获得文本(也称为字符串)表示形式时才适用。

如果您确实想以特定的“格式”“存储”数据(大多数情况下不应该这样做),则需要使用Dictionary<string, string>而不是Dictionary<DateTime, string>

如果要“截断”纳秒部分并仅保留毫秒,则可以使用如下DateTime.AddTicks方法:

myDateTime = myDateTime.AddTicks( - (myDateTime.Ticks % TimeSpan.TicksPerMillisecond) / 100);
Run Code Online (Sandbox Code Playgroud)