ASP.NET C#从军事时间更改为标准时间

ASP.NET C#从军事时间更改为标准时间,c#,asp.net,C#,Asp.net,我有这个: StringBuilder sb = new StringBuilder(time.Text); if (DateTime.Parse(time.Text) > DateTime.Parse("12:00:00 AM") && DateTime.Parse(time.Text) < DateTime.Parse("11:59:59 AM")) { time.Text =

我有这个:

StringBuilder sb = new StringBuilder(time.Text);
if (DateTime.Parse(time.Text) > DateTime.Parse("12:00:00 AM")
    && DateTime.Parse(time.Text) < DateTime.Parse("11:59:59 AM"))                                    
{
    time.Text = time.Text + " AM";
}
else
{
    time.Text = time.Text + " PM";
}
StringBuilder sb=新的StringBuilder(time.Text);
if(DateTime.Parse(time.Text)>DateTime.Parse(“12:00:00am”)
&&DateTime.Parse(time.Text)
我现在是下午16点34分

我希望它只显示下午4:34

string strTime = DateTime.Now.ToString(@"hh\:mm\:ss tt");
在您的情况下,它将是:

 time.Text=DateTime.Parse(time.Text).ToString(@"hh\:mm\:ss tt");
并确保自定义格式,如
HH
是24小时格式,
MM
是月份格式

string strTime = DateTime.Now.ToString(@"hh\:mm\:ss tt");
在您的情况下,它将是:

 time.Text=DateTime.Parse(time.Text).ToString(@"hh\:mm\:ss tt");
并确保自定义格式,如
HH
为24小时格式,
MM
为月份格式

time.Text = DateTime.Parse(time.Text).ToString("hh:mm:ss tt");
试一试


请记住,
ToLongTimeString
和其他类似方法使用系统时间首选项(控制面板->区域和语言)来显示。当您需要特定的输出时,我总是喜欢特定的格式化输出(
@“HH\”mm“
)。请记住,
ToLongTimeString
和其他类似的方法使用系统时间首选项(控制面板->区域和语言)来显示。当您需要特定输出时,我总是更喜欢特定格式的输出(
@“HH \:mm”
)。当您在格式字符串中使用标点符号时,最好用反斜杠将其转义:
@“HH \:mm \:ss tt”
。冒号不是冒号,而是“时间分隔符”。如果您更改Windows首选项(出于某些奇怪的原因),使时间使用连字符而不是冒号,然后运行
.ToString(“hh:mm:ss”)
,您的输出将是
12-34-56
,而不是
12:34:56
。(日期部分的正斜杠也是如此)。如果您需要特定的格式,我总是建议您尽可能具体。当您在格式字符串中使用标点符号时,最好用反斜杠将其转义:
@“hh \:mm \:ss tt”
。冒号不是冒号,而是“时间分隔符”。如果您更改Windows首选项(出于某些奇怪的原因),使时间使用连字符而不是冒号,然后运行
.ToString(“hh:mm:ss”)
,您的输出将是
12-34-56
,而不是
12:34:56
。(日期部分的正斜杠也是如此)。如果你需要一个具体的格式,我总是建议你尽可能的具体。