datetime格式需要按预期更改

3phpmpom  于 2021-07-05  发布在  Java
关注(0)|答案(4)|浏览(403)

这个问题在这里已经有答案了

java日期格式-包括附加字符(5个答案)
4个月前关门了。
我想把时间显示为 "02 Sep 2020 at 12:24 AM" (注意日期和时间之间的间隔)。
我目前使用的格式是 "dd MMM yyyy hh:mm aaa" ,
时间显示为 "28 Aug 2020 11:32 AM" .
我怎么能在时间之前写一个字母?

whhtz7ly

whhtz7ly1#

把这个词用单引号括起来。

"dd MMM yyyy 'at' hh:mm aaa"
azpvetkf

azpvetkf2#

您可以使用单引号将字符串文字括起来,将其添加到日期格式中( ' ):

SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy 'at' hh:mm aaa");
// Here -------------------------------------------------^--^

String formatted = sdf.format(myDateVariable);
o75abkj4

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));
ioekq8ef

ioekq8ef4#

如果你使用 java.time 为此,可以定义 java.time.format.DateTimeFormatter 解析 String ,用于解析 Stringjava.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

相关问题