c# - 日期时间格式字符串模式

标签 c# vb.net datetime date formatting

有人可以指导我使用正确的格式字符串来以下列格式显示时间吗?

   Original: #7/28/2011 09:00:03 AM#
   Required Format: 9am

   //BUT if the minutes part contains a value I want it to look like this

   Original: #7/28/2011 09:21:03 AM#
   Required Format: 9:21am

我可以使用一种格式字符串来完成此操作吗?

PS:我已经尝试过 h:mmtt 但正如预期的那样并没有完全满足我的需求

最佳答案

格式字符串无济于事。您想要根据值有条件地格式化字符串。您必须自己检查分钟值并根据是否为 ​​0 分钟应用适当的格式字符串。

DateTime dateValue = DateTime.Parse("7/28/2011 09:00:03 AM");
string formattedString;
if (dateValue.Minute == 0)
    formattedString = dateValue.ToString(@"M/d/yyyy Htt");
else
    formattedString = dateValue.ToString(@"M/d/yyyy H:mmtt");

关于c# - 日期时间格式字符串模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6853517/

相关文章:

c# - 使用 TimeSpan.Parse 的 QueryExtender Linq Orderby

在 vb.net 中调用 winAPI 函数

asp.net - MVC3 中返回文件的操作

c# - 我应该为桌面应用程序使用 VB.net 还是 C#

r - 处理我们切换到夏令时和返回的日期

ruby-on-rails - 如何处理 `datetime` 值以便将其从 `2012-04-27 00:00:00` 更改为 `27 april 2012`?

c# - 我什么时候应该更喜欢属性而不是方法?

c# - 验证登录用户新输入的密码

c# - Xamarin.Droid 应用程序在检查 "Shared runtime option"时崩溃

php - Unix 时间戳与日期时间