有人可以帮我设置日期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部分。
答案 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