9

我正在创建这样的日期格式:

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

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

4

5 回答 5

10

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

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

\nin有效,MMM d, yyyy\nh:mma因为 the\和 the都不n是由SimpleDateFormat参见文档)解释的,因此被传递给 Java String。如果它们确实有特殊含义,您可以使用单引号:(MMM d, yyyy'\n'h:mma也可以)。

于 2014-10-17T08:39:08.197 回答
2

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

String output = "Thus ,Sep 6" + "\\n" + "4:25pm";
于 2012-09-06T14:38:20.613 回答
2

不要使用\n,使用:

System.getProperty("line.separator");

获取行分隔符。

我找到了另一个来源,它告诉您可以使用
回车。

于 2012-09-06T12:55:19.183 回答
2

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

于 2012-09-06T12:56:10.070 回答
1

你确定,\n消失了吗?至少您的最后一次尝试与日期格式没有任何关系。您是否有机会为网页创建输出并且应该使用<br />instread of \n

于 2012-09-06T12:55:17.250 回答