如何解决DateTime格式需要按预期更改
我想将时间显示为"02 Sep 2020 at 12:24 AM"
(注意日期和时间之间的 at )。
我正在使用的当前格式为"dd MMM yyyy hh:mm aaa"
,
时间显示为"28 Aug 2020 11:32 AM"
。
如何在时间之前放在上?
解决方法
您可以通过用单引号('
)括起来将字符串文字添加到日期格式:
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM yyyy 'at' hh:mm aaa");
// Here -------------------------------------------------^--^
String formatted = sdf.format(myDateVariable);
,
只需将单词用单引号引起来即可。
"dd MMM yyyy 'at' hh:mm aaa"
,
如果为此使用java.time
,则可以定义java.time.format.DateTimeFormatter
来解析String
,使用它来将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
此代码产生输出
ℹ 「wds」: Project is running at http://localhost:8080/
ℹ 「wds」: webpack output is served from /
ℹ 「wds」: Content not from webpack is served from /app/build,/app/public
,
SimpleDateFormat formatter = new SimpleDateFormat("dd MMM yyyy 'at' HH:mm:ss z");
Date date = new Date(System.currentTimeMillis());
System.out.println(formatter.format(date));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。