Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 返回日期格式为两行_C#_Visual Studio_Datetime - Fatal编程技术网

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