这个问题在这里已经有答案了:
java日期格式-包括附加字符(5个答案)4个月前关门了。我想把时间显示为 "02 Sep 2020 at 12:24 AM" (注意日期和时间之间的间隔)。我目前使用的格式是 "dd MMM yyyy hh:mm aaa" ,时间显示为 "28 Aug 2020 11:32 AM" .我怎么能在时间之前写一个字母?
"02 Sep 2020 at 12:24 AM"
"dd MMM yyyy hh:mm aaa"
"28 Aug 2020 11:32 AM"
whhtz7ly1#
把这个词用单引号括起来。
"dd MMM yyyy 'at' hh:mm aaa"
azpvetkf2#
您可以使用单引号将字符串文字括起来,将其添加到日期格式中( ' ):
'
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy 'at' hh:mm aaa"); // Here -------------------------------------------------^--^ String formatted = sdf.format(myDateVariable);
o75abkj43#
SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy 'at' HH:mm:ss z"); Date date = new Date(System.currentTimeMillis()); System.out.println(formatter.format(date));
ioekq8ef4#
如果你使用 java.time 为此,可以定义 java.time.format.DateTimeFormatter 解析 String ,用于解析 String 到 java.time.LocalDateTime 定义并使用另一个 DateTimeFormatter 这包括 at 通过将其括在单引号中在模式中转义:
java.time
java.time.format.DateTimeFormatter
String
java.time.LocalDateTime
DateTimeFormatter
at
public static void main(String[] args) { String dateTime = "02 Sep 2020 12:24 AM"; DateTimeFormatter parserDtf = DateTimeFormatter.ofPattern("dd MMM uuuu hh:mm a", Locale.ENGLISH); DateTimeFormatter outputDtf = DateTimeFormatter.ofPattern("dd MMM uuuu 'at' hh:mm a", Locale.ENGLISH); LocalDateTime ldt = LocalDateTime.parse(dateTime, parserDtf); System.out.println(ldt.format(outputDtf)); }
此代码生成输出
02 Sep 2020 at 12:24 AM
4条答案
按热度按时间whhtz7ly1#
把这个词用单引号括起来。
azpvetkf2#
您可以使用单引号将字符串文字括起来,将其添加到日期格式中(
'
):o75abkj43#
ioekq8ef4#
如果你使用
java.time
为此,可以定义java.time.format.DateTimeFormatter
解析String
,用于解析String
到java.time.LocalDateTime
定义并使用另一个DateTimeFormatter
这包括at
通过将其括在单引号中在模式中转义:此代码生成输出