我有这样的日期格式:hh tt
,例如:12 AM或07 PM返回,对此不熟悉。
我正试图找到一种方法,只使用日期时间格式将此结果返回到2行。
我尝试了类似hh \n tt
,hh <br/ tt
的内容。
\ n返回n(但在当天的数字和时间之间跳过一行。)
<br/>
打破整个函数并抛出异常。
如果你有另一个创意解决方案,它也会很好。
我不想要.subString (0,2) + <br/> + substring(3,5)
或熟悉的解决方案。
非常感谢
结果应该是:
12
pm
这是我的完整代码:
SingleDayStat.mDisplayDate = String.Format((DateTimeUtils.DateTimeToFormat(DateUtil.HourReset(temp_datetime, TimeOffset), LibraryUtils.GetStatisticsGraphsDateFormatForDay()).ToLowerInvariant()), "<br/>");
public static string DateTimeToFormat(DateTime Date, string Format)
{
return Date.ToString(Format);
}
public static string GetStatisticsGraphsDateFormatForDay()
{
string format = string.Empty;
format = ConfigurationManager.AppSettings["StatisticsGraphsDateFormatForDay"];
return format;
}
<add key="StatisticsGraphsDateFormatForDay" value="hh{0}tt"/>
HourReset方法仅将小时数舍入到最接近的圆形小时
答案 0 :(得分:1)
var now = DateTime.Now;
string formatted = now.ToString(string.Format("hh{0}tt",Environment.NewLine));
答案 1 :(得分:1)
这可以帮到你:
static void Main(string[] args)
{
Console.WriteLine(FormatTime(DateTime.Now, false));
Console.WriteLine(FormatTime(DateTime.Now, true ));
Console.WriteLine(FormatTime(DateTime.Now, "'" ));
Console.WriteLine(FormatTime(DateTime.Now, "<hr />"));
}
static string FormatTime(DateTime date, bool isHtml)
{
return FormatTime(date, isHtml ? "<br />" : Environment.NewLine);
}
static string FormatTime(DateTime date, string separator)
{
return date.ToString(String.Format("hh'{0}'tt",
separator.Replace("'", "\\'")), new CultureInfo("EN-US"));
}
输出:
08
AM
08<br />AM
08<hr />AM
08'AM
此方法是对Sriram答案的改进,因为正确地转义了字符串分隔符。这样您就可以使用<hr />
分隔符,它将按预期显示,而不是12<12r />AM
答案 2 :(得分:0)
ASPX
<div ID="ltlTime" runat="server"></div>
背后的代码
DateTime curDate = DateTime.Now;
string formatted = curDate.ToString("hh tt").Replace(" ","<BR>"); // to render in html
ltlTime.InnerHtml = formatted