8

我尝试了几种方法datetime2(3)从 C# 代码中检索等价物,但徒劳无功。

其中之一如下。

DateTime dt = DateTime.Now.AddMilliseconds(DateTime.Now.Millisecond);

我需要以下格式:

YYYY-MM-DD HH:MM:SS.FFF

但是从上面的代码中,我得到了以下结果

6/19/2012 11:15:08 PM

当我尝试以下方式时,

 string myTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff");
 DateTime dd = Convert.ToDateTime(myTime);

它抛出以下错误

字符串未被识别为有效的日期时间。

我只需要格式的日期,datetime2(3)您可以建议我另存为nvarchar. 但我需要根据datetime2更新的条目对条目进行排序。

有没有其他方法可以解决这个问题?

4

1 回答 1

18
var format = "yyyy-MM-dd HH:mm:ss:fff";
var stringDate = DateTime.Now.ToString(format);
var convertedBack = DateTime.ParseExact(stringDate, format, CultureInfo.InvariantCulture);

DateTime 是一种表示日期和时间的数据类型,不存储格式信息。毫秒始终存储在 DateTime 中。唯一需要指定毫秒的时间是在选择如何将 DateTime 表示为另一种类型(如字符串)时。

于 2012-06-19T18:06:32.213 回答