我得到这个结果:10月23日星期五20:04:57 GMT+02:00 202,代码如下:
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'", Locale.getDefault());
Date startGMTInput = df.parse(start);
Log.e(TAG, "start: " + startGMTInput.toString());// -> Fri Oct 23 20:04:57 GMT+02:00 2020
但我的目标是得到:2020-10-2322:04:57//因为我在GMT+2时区
考虑使用Java.time(现代Java日期和时间API)来完成日期和时间工作。让我们首先定义我们需要的格式化程序:
private static final DateTimeFormatter inputFormatter
= DateTimeFormatter.ofPattern("uuuuMMdd'T'HHmmssX");
private static final DateTimeFormatter outputFormatter
= DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss");
(DateTimeFormatter
是线程安全的,因此我们可以安全地将它们声明为静态的。)显式执行时区转换:
String startString = "20201023T200457Z";
Instant start = inputFormatter.parse(startString, Instant.FROM);
String target = start.atZone(ZoneId.systemDefault()).format(outputFormatter);
System.out.println(target);
在我的时区输出(当前与您的时区一样在偏移量+02:00):
我有一个开始日期时间:“20201023T200457Z”(似乎是UTC0000)如何在移动设备上用本地时间的“yyyyMMdd HH:mm:ss”模式转换/生成它? 我得到这个结果:周五10月23 20:04:57格林尼治标准时间02:00 2020与此代码: 但我的目标是:2020-10-23 22:04:57//因为我在格林尼治标准时间2时区
问题内容: 我正在尝试将一个实例转换为一个实例。 我没有得到编译器错误,但是实例值是错误的。 我认为这不起作用,因为它存储时间而不是。 我正在使用JDK 1.8版。 问题答案: 您的输入实际上是一个。简单地将其解析为a 然后从中获取会更简单。无需担心时区,无需保留某些传统课程(避免并在可能的情况下…)
我有一个时区字符串,例如,“太平洋时间(美国和加拿大)”。对于特定的日期,包括夏令时,我需要在该时区以UTC获得相当于3PM的值。我该怎么做呢? 例如,我需要在UTC时间中找到12月3日PDT的3PM。
问题内容: 如何在Swift中获取本地日期和时间? 问题答案: 我已经找到答案了。
我正在开发一个android应用程序,向用户显示预订的时间和日期。目前我使用的是系统时间和日期,但问题是用户可以随时更改它。那么如何得到正确的时间和日期呢?我在这个问题上工作了3天多,但我还没有找到任何解决办法。任何帮助都很感激。
我尝试在java中使用本地化以本地样式打印日期。我已经使用数字和货币制作了类似的功能,但我未能将相同的行为应用到日期。 正如我在几天前发布此主题时所了解的,GraalVM Quarkus Locale在本机模式下,使用本机模式下的本地化需要使用创建一个“@AutomaticFeature”。 这个技巧适用于数字和货币: 但它不适用于DateTimeFormatter: 在开发模式下一切正常,但在原