DateTime尝试为日期设置AM / PM

时间:2014-06-16 20:54:15

标签: c# visual-studio datetime output

有人可以帮我设置日期AM / PM部分的最后部分。我正在使用C#项目,这是我到目前为止所拥有的:

DateTime startDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 00, 00, 00);
or
new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 11, 59, 59);

我在哪里设置AM或PM

因为当我尝试使用以下内容打印DateTime时:

 startDate.ToString("MM/dd/yy HH:mm:ss tt")

我得到了

06/13/14 00:00:00 AM 
06/16/14 11:59:59 AM 

为什么我在这两种情况下都能获得AM?对编码人员的任何建议或改进都是更好的方法。

我想设置DateTime,然后手动添加PM或AM部分。

2 个答案:

答案 0 :(得分:3)

“AM”和“PM”是显示格式的一部分,它们不是设置数据本身。请注意您设置的时间:

... 00, 00, 00 ...
... 11, 59, 59 ...

这两次都是上午时间。一个是午夜,另一个是中午前一秒。

如果您想要中午或11:59:59 PM ,那么您需要将小时设置为12或23:

... 12, 00, 00 ...
... 23, 59, 59 ...

然后,您要求12小时显示的输出格式将显示您要查找的时间。

存储时间时没有任何人类可读的格式。在较低的水平,他们只是整数。稍微高一点,他们是24小时工作日。实际上以<12>格式存储的时间没有。这只是一个显示问题。

答案 1 :(得分:0)

在这种情况下,无需手动设置时间:

DateTime startDate = DateTime.Today;
DateTime endDate = startDate.AddDays(1).AddSeconds(-1);

另外,请确保您没有从ASP.Net Web应用程序执行此操作。 &#34;现在&#34;或者&#34;今天&#34;您的网络服务器可能与查看您网站的人不同。 More on this here