如何在dateformat之间创建新行

And*_*ler 9 java android

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

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE, h:mm a");
Run Code Online (Sandbox Code Playgroud)

我需要在日期,月份和时间之间划一条新线

thus ,sep 6
4:25pm
Run Code Online (Sandbox Code Playgroud)

所以我做了以下更改:

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE,"+"\n"+" h:mm a");
Run Code Online (Sandbox Code Playgroud)

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

thus ,sep 6 4:25pm
Run Code Online (Sandbox Code Playgroud)

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

SimpleDateFormat sdf =new SimpleDateFormat("MMM d, EEE,");
SimpleDateFormat sdf1 =new SimpleDateFormat(" h:mm a");
Run Code Online (Sandbox Code Playgroud)

并做到了这一点:

sdf.format(calendar.getTime())+"\n"+sdf1.format(calendar.getTime())
Run Code Online (Sandbox Code Playgroud)

但它又给出了相同的结果

thus ,sep 6 4:25pm
Run Code Online (Sandbox Code Playgroud)

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

Sur*_*gch 9

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

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

\nMMM d, yyyy\nh:mma作品因为无论是\还是n被解释SimpleDateFormat(见文档),因此到Java的String传递.如果它们确实具有特殊含义,您可以使用单引号:( MMM d, yyyy'\n'h:mma也可以).


Gri*_*Dog 2

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

String output = "Thus ,Sep 6" + "\\n" + "4:25pm";
Run Code Online (Sandbox Code Playgroud)