gpt4 book ai didi

java - SimpleDateFormat 中应该采用什么格式来打印这样的日期 - 01-JUN-20 08.55.27.577984000 AM UTC?

转载 作者:行者123 更新时间:2023-12-01 16:26:48 29 4
gpt4 key购买 nike

我想以这种格式打印当前日期 -2020 年 6 月 1 日 08.55.27.577984000 上午 UTC。在 SimpleDateformat 中尝试了很多格式,但没有一个有效。像这样打印的正确方法是什么?

最佳答案

简单日期格式

您可以使用以下模式:

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;

public class TimeFormatting {
public static void main(String[] args) {
SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yy hh.mm.ss.SSS a Z");
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
String formatted = formatter.format(new Date(2015, 4, 4, 13, 7, 19)); //One example date
System.out.println(formatted);
}
}

这将给出输出 04-05-15 11.07.19.000 AM +0000,其中 +0000 等于 UTC

模式解释dd-MM-yy hh.mm.ss.SSS a Z:

  • dd = 天
  • MM = 月份
  • yy = 年份
  • hh = 小时
  • mm = 分钟
  • ss = 第二个
  • SSS = 毫秒。 SimpleDateFormat 中不存在对纳秒的引用(请参阅 this 答案)。
  • a = 显示上午/下午
  • Z = 显示时区
<小时/>

其他信息

请注意:SimpleDateFormat 已弃用。您应该使用DateTimeFormatter。一大优点是您还可以拥有纳秒 (n)。

一个例子:

import java.time.LocalDateTime; 
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.ZoneOffset;

public class TimeFormatting {
public static void main(String[] args) {
ZonedDateTime time = ZonedDateTime.now(ZoneOffset.UTC);

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yy hh.mm.ss.n a 'UTC'").withZone(ZoneOffset.UTC);
String timeDate = time.format(formatter);
System.out.println(timeDate);
}
}
<小时/>

编辑:

如果您想在 SimpleDateFormat 中使用 UTC 而不是 +0000,您可以使用 dd-MM-yy hh.mm .ss.SSS a zzz 代替。

<小时/>

关于java - SimpleDateFormat 中应该采用什么格式来打印这样的日期 - 01-JUN-20 08.55.27.577984000 AM UTC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62128819/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com