如何在dateformat之间创建新行

时间:2012-09-06 12:52:47

标签: java android

我创建这样的日期格式:

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE, h:mm a");

我需要在日期,月份和时间之间添加一条新的界限

thus ,sep 6
4:25pm

所以我做了以下更改:

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE,"+"\n"+" h:mm a");

它没有给我任何东西,只是它在一行中创建它:

thus ,sep 6 4:25pm

所以我采用了像这样的格式对象

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE,");
SimpleDateFormat sdf1 =new SimpleDateFormat(" h:mm a");

并且这样做了:

sdf.format(calendar.getTime())+"\n"+sdf1.format(calendar.getTime())

但它再次给出相同的结果

thus ,sep 6 4:25pm

日历是一个日历对象。任何帮助都将不胜感激!!

5 个答案:

答案 0 :(得分:8)

我从你的一条评论中看到你的原始解决方案确实有效,但是当我来到这里时我遇到了同样的问题,所以让我为这个问题添加一个答案。 (我的格式与你的格式略有不同。)

Date date = new Date(unixMilliseconds); 
SimpleDateFormat sdf = new SimpleDateFormat("MMM d, yyyy\nh:mma");
String formattedDate = sdf.format(date);

\n中的MMM d, yyyy\nh:mma有效,因为\n都不会被SimpleDateFormatsee documentation)解释,因此会通过到Java String。如果它们确实具有特殊含义,您可以使用单引号:MMM d, yyyy'\n'h:mma(也可以)。

答案 1 :(得分:2)

如果您要显示HTML视图,则需要确保使用HTML换行符<br/>,而不是\n

答案 2 :(得分:2)

我认为Android字面上需要\n才能显示在字符串中,而不是实际的换行符。因此,您需要转义Java字符串中的反斜杠,如下所示:

String output = "Thus ,Sep 6" + "\\n" + "4:25pm";

答案 3 :(得分:1)

您确定\n消失了吗?至少你的最后一次尝试与日期格式无关。您是否有机会为网页创建输出并且应使用<br /> \n的实例读取?

答案 4 :(得分:1)

请勿使用\ n,使用:

System.getProperty("line.separator");

获取行分隔符。

我找到另一个来源,告诉你可以使用&#xA;来回车。