解析将AM/PM添加到日期时间,原因不明

Kev*_*nda 3 c# datetime

我有这段代码:

string testdate = File.GetCreationTime(filePath + file).ToString("yyyy-MM-dd HH:mm:ss.fff");
DateTime test1 = DateTime.ParseExact(testdate, "yyyy-MM-dd HH:mm:ss.fff", new CultureInfo("en-US"), DateTimeStyles.None);
Run Code Online (Sandbox Code Playgroud)

在testdate上我有以下日期: 2017-12-15 09:57:20.626

现在,当我尝试将其解析为datetime时,结果如下:

测试1: 12/15/2017 9:57:20 AM

我想要的结果是testdate上的确切日期,但作为DateTime变量

如果我使用HH作为24小时格式,为什么会发生这种情况?我已经看过许多帖子删除AM和PM,但是使用字符串,我需要它作为查询的日期时间.

编辑:Sql Server查询我正在尝试运行

SELECT Transnum 
FROM transactions
WHERE (txnnum = @Txnnum and txndatetime between @InitDate and @EndDate)
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 5

A DateTime在显式添加方面没有"上午"或下午 - 它只是时间作为纯数; 它所代表的时间将在上午或下午.

它只显示在输出中,因为输出格式(可能是默认值,或在调试器中)包含它.

如果您不想显示 am或pm,则:更改显示的位置 test1以包含格式说明符.