C# 返回日期格式为两行
我有这样的日期格式:C# 返回日期格式为两行,c#,visual-studio,datetime,C#,Visual Studio,Datetime,我有这样的日期格式:hh-tt,返回例如:上午12点或晚上7点,这些人对此并不熟悉 我试图找到一种方法,只使用日期-时间格式返回两行结果。 我尝试过类似于hh\n tt,hh的方法,这可以帮助您: static void Main(string[] args) { Console.WriteLine(FormatTime(DateTime.Now, false)); Console.WriteLine(FormatTime(DateTime.Now, true )); C
hh-tt
,返回例如:上午12点或晚上7点,这些人对此并不熟悉
我试图找到一种方法,只使用日期-时间格式返回两行结果。
我尝试过类似于
hh\n tt
,hh的方法,这可以帮助您:
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"));
}
static void Main(字符串[]args)
{
WriteLine(FormatTime(DateTime.Now,false));
WriteLine(FormatTime(DateTime.Now,true));
Console.WriteLine(FormatTime(DateTime.Now,“”));
Console.WriteLine(FormatTime(DateTime.Now,
);
}
静态字符串FormatTime(日期时间日期,bool-isHtml)
{
返回格式时间(日期,isHtml?
“:Environment.NewLine);
}
静态字符串FormatTime(日期时间日期,字符串分隔符)
{
return date.ToString(String.Format(“hh'{0}'tt”),
分隔符。替换(“'”、“\\”),新的CultureInfo(“EN-US”);
}
输出:
08
AM
08<br />AM
08<hr />AM
08'AM
08
是
上午8点
08<小时/>上午
上午8点
此方法是对Sriram answer的改进,因为它正确地转义了字符串分隔符。这样,您可以使用
分隔符,它将按预期显示,而不是12AM
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
DateTime curDate=DateTime.Now;
字符串格式=curDate.ToString(“hh-tt”)。替换(“,”
”);//以html呈现
ltlTime.InnerHtml=已格式化
ofc。。假设是下午12点(行跳过)。请发布代码,包括隐藏的代码和试图将字符串插入其中的HTML代码。照目前的情况,我们只能猜测你在说什么。可能您正在尝试生成HTML,可能不是time。ToString(“hh\ntt”)
可以正常工作,请选择“hh\r\n tt”(Windows易于接受但不接受)。我在WinFormsSSO上成功地使用了“hh\r\n tt”,你得到了什么异常?@PanagiotisKanavos好吧,用break标记替换环境。换行符不起作用?必须否决,因为它要么不起作用,要么完全没有必要,这取决于问题的具体情况,目前还不清楚(这本身就是一个不回答的很好的理由)。@AntP我认为这个答案不值得投反对票!如果问题是将其格式化为html,那么他们就用
替换环境。换行符应该足够了。@Peri hater会讨厌无论答案的质量如何:(这正是我的观点-他是否使用“\n”没有区别在环境.NewLine
中的字符串文字或格式中,这显然不是问题所在。正如@Peri所说,他正在做一些奇怪的事情,因为他在OP中所说的已经是有效的-实际的问题还不清楚,因为任何正确阅读该问题的人都会很明显。这个答案是多余的。
08
AM
08<br />AM
08<hr />AM
08'AM
<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